2015년 5월 26일 화요일

(퍼옴) 안구 근력 운동

무항생제 안약을 두 통 받아든 채 K씨는 눈 운동 관련 정보를 찾았다.

(1) 상하좌우로 움직이기 - 3세트

위아래로 움직인다: 눈을 위로 향하고 이마를 본다는 감각으로 그 상태를 3초간 유지한다. 이어서 자신의 코끝을 본다는 감각으로 시선을 아래로 향하고 그 상태를 3초간 유지한다(1세트).

눈을 좌우로 움직인다: 눈을 왼쪽으로 향하고 3초간 유지한 다음, 이어서 오른쪽으로 향해 3초간 유지한다(1세트).

* 포인트: 눈을 깜빡이지 않는다. / 시선이 향하는 곳보다 2밀리미터 정도 멀리 보는 듯한 감각으로 실시한다.

눈을 모로 움직인다: 머리는 고정한 채 눈만 움직여 모로 왼쪽 위, 오른쪽 위, 오른쪽 아래, 왼쪽 아래 위치로 향하는데, 각각 3초간 유지한다(1세트).

* 포인트: 시선을 움직일 때 얼굴도 같이 움직인다면 주먹을 쥐고 턱에 대 고정한다.

(2) 빙그르 회전시키기 - 3세트

눈을 시계방향으로 가급적 크게, 천천히 1바퀴 회전시킨다. 이어서 시계반대방향으로 1바퀴 회전시킨다.

* 포인트:얼굴은 움직이지 않는다. / 실시하는 중에 시선이 정면을 향하지 않는다.

(3) ∞ 모양으로 움직이기 - 3세트

눈을 누워 있는 ∞ 모양으로 그리듯이 움직인다. 3세트 실시하고, 반대방향으로도 동일한 방법으로 실시한다.

* 포인트: 장시간 컴퓨터 작업하는 틈틈이 실시하면 안구건조를 예방할 수 있다.

(4) 앞뒤로 움직이기 - 3세트

눈을 앞으로 내밀었다가 뒤로 집어넣는다: 안구를 앞으로 내밀듯 부릅뜨고 3초간 유지한 뒤에, 안구를 뒤통수 쪽으로 집어넣듯 눈을 꾹 감고 3초간 유지한다(1세트).

* 포인트: 눈을 앞으로 내밀 때는 마치 연극하듯 과장스럽게 실시한다. / 눈을 뒤로 집어넣을 때는 아주 신 레몬을 먹은 것 같은 기분으로 실시한다.

2015년 5월 20일 수요일

Intel Math Kernel Library (MKL) and FFTW3 링크하기

먼저 MKL library의 위치를 찾을 것. 
MKL library에 FFTW가 포함되어 있다고 하지만 FFTW의 위치도 알아둘 것.

MKL libary를 사용하는 방법은 두가지가 있다.

(1) -mkl 옵션을 사용하는 방법
(2) 모든 옵션을 일일이 지정해 주는 방법
-mkl 옵션의 경우 default 설정이 무엇인가에  따라 달라지게 된다.일반적인 경우라면,

ifort test.f90 -mkl -o test_f
icc test.c -mkl -o test_c

만으로 충분하고 FFTW를 사용하는 경우에는 

icc test.c -w -DMKL_DOUBLE -I/opt/intel/Compiler/11.1/069/mkl/include/fftw -mkl -o test_c

ifort -I/opt/intel/Compiler/11.1/069/mkl/include/fftw test.f90 -mkl -o test_f

icc test.c -I/opt/intel/Compiler/11.1/069/mkl/include/fftw -mkl -o test_c

ifort test.f90 -I/opt/intel/Compiler/11.1/069/mkl/include/fftw -mkl -o test_f

와 같이 include path를 지정해 주는 것이 좋다고 한다. 

-mkl 옵션을 쓰지 않으면 아래와 같이 일일이 써 주어야한다. 

icc test.c -I/opt/intel/Compiler/11.1/069/mkl/include -I/opt/intel/Compiler/11.1/069/mkl/include/fftw
-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm 
-L/opt/intel/Compiler/11.1/069/mkl/lib/em64t -o c_test 

ifort test.f90 -I/opt/intel/Compiler/11.1/069/mkl/include -I/opt/intel/Compiler/11.1/069/mkl/include/fftw 
-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm 
-L/opt/intel/Compiler/11.1/069/mkl/lib/em64t -o f_test


(주의1) -lmkl_intel_lp64 는 64bit cpu 용 libary를 사용한다는 뜻이고,  
-lmkl_intel_ilp64 는 64bit cpu 용 libary를 사용하되 
정수도 64bit인 libary를 사용한다는 뜻으로 compile 할 때 -i8 option을 추가해 주어야 한다.   
ilp64를 사용할 경우 FFTW와 integer type이 다를 수 있으므로 주의해야 한다.

(주의2) FFTW2 를 사용할 경우는 option을 다르게 주어야한다.
icc test2.c -o test2_c -I/opt/intel/Compiler/11.1/069/mkl/include/fftw 
-L/opt/intel/Compiler/11.1/069/mkl/lib/em64t -lfftw2xc_intel -mkl 

ifort test2.f -o test2_f -I/opt/intel/Compiler/11.1/069/mkl/include/fftw 
-L/opt/intel/Compiler/11.1/069/mkl/lib/em64t -lfftw2xf_intel -mkl

만약 외부 FFTW library를 사용하는 경우에는 아래와 같이 사용한다.
ifort -O3 -o fftw_example.exe fftw_example.f -I/u/username/fftw/include -L/u/username/fftw/lib -lfftw3

참고:

http://geco.mines.edu/software/mkl/fftw/

http://www.nas.nasa.gov/hecc/support/kb/MKL-FFTW-Interface_204.html



(Details on the -mkl option )


-mkl[=]
          link to the Intel(R) Math Kernel Library (Intel(R) MKL) and
          bring in the associated headers
            parallel   - link using the threaded Intel(R) MKL libraries.
                         This is the default when -mkl is specified
            sequential - link using the non-threaded Intel(R) MKL libraries
            cluster    - link using the Intel(R) MKL Cluster libraries plus
                         the sequential Intel(R) MKL libraries
The libraries that are linked in for:
    * -mkl=parallel

          --start-group \
          -lmkl_solver_lp64 \
          -lmkl_intel_lp64 \
          -lmkl_intel_thread \
          -lmkl_core \
          -liomp5 \
          --end-group \

    * -mkl=sequential

          --start-group \
          -lmkl_solver_lp64_sequential \
          -lmkl_intel_lp64 \
          -lmkl_sequential \
          -lmkl_core \
          --end-group \

    * -mkl=cluster

          --start-group \
          -lmkl_solver_lp64 \
          -lmkl_intel_lp64 \
          -lmkl_cdft_core \
          -lmkl_scalapack_lp64 \
          -lmkl_blacs_lp64 \
          -lmkl_sequential \
          -lmkl_core \
          -liomp5 \
          --end-group \