- 함수 한정자 [ Function qualifier]  

    

 Qualifier

 Description.

 __global__

1. 리턴값은 항상 void 

2. <<< >>> 를 이용해서 블록,쓰레드,공유메모리크기, Stream 객체 정보를 설정할 수 있다.

3. 재귀호출 X

4. static 변수 X

5. __host__  와 같이 사용X

6. 가변인수를 가질 수 없다.

7. 디바이스에서 처리되기 전에 반환되는 비동기 동작을 함.

8. 256 바이트 까지 인수를 사용 가능.


 __device__

 1. 디바이스에서만 호출된다.

 2. 재귀호출 X

 3. 가변인수 X

 4. __device__ 함수 포인터 X

__host__ 

 1. qualifier 가 명시가 안될 때, 기본값.

 2. __global__과 함께 사용못한다.

 3. __device__ 와 함께 선언하여, 디비이스, 호스트에서 호출할 수 있다.

 

 




- 변수 한정자 [Variable qualifier]



 Qualifier

Description 

 __device__

 1. 글로벌 메모리에 할당

 2. 프로그램이 종료될 때까지 유효.

 3. 모든 쓰레드가 접근 가능.

 4. 호스트에서 API를 통해 접근 가능. 

 __constant__

 1. 상수메모리 영역에 할당됨.

 2. 프로그램이 종료될 때까지 유효.

 3. 모든쓰레드가 읽기만 가능.

 4.  호스트에서 cudaMemcpyToSymbol() 를 통해 값을 쓸 수 있다.

 __shared__

 1. 블록내 공유메모리에 할당됨.

 2. 블록내 모든 쓰레드상에서 유효하다.

 3. 읽고/쓰기가 빠름. 


    

  


:: 설   치.


1. 아래 사이트에서 관련  평가판 다운로드를 신청한다.  

   http://software.intel.com/en-us/intel-integrated-performance-primitives-evaluation-options 가서 접속하여, Get This Library for Free 항목을 클릭한다.



  

   

   

2. 다음 화면에서 다운로드 URL 과 라이센스 키 정보를 받을 이메일 주소와 지역을 입력한 후 SUBMIT 버튼을 클릭한다.






3. 잠시 후, 메일을 확인 한 후, 시리얼 키를 별도로 저장하고, 다운로드 버튼을 클릭하면, 다운로드를 받을 수 있는 사이트로 이동하는데, 여기서 IPP 및 WINDOWS 버전을 각각 선택하고, 다운로드 받는다.



다운로드 받은 후, EXE 파일을 실행하면, 압축을 풀고 계속해서 설치가 진행 된다. 진행 과정에서 시리얼 번호를 입력해야 한다.



*주의사항* 

 설치된 폴더를 다른 곳으로 옮기고, 아래 환경 변수만 변경하면,  라이센스 상관 없이 계속해서 사용할 수 있다.



::환경 설정. 


1. 환경변수 설정. 


  참고:

    1. 실행: 내컴퓨터 속성 -> 고급 시스템 설정-> 고급 탭 -> 환경변수 버튼 클릭. 

    2. 환경 변수를 설정 한 후에는, VC++ 툴을 재시작하거나, 시스탬을 재부팅해야 정상 반영된다. 

    2. 프로그램 기본 설치 경로 : C:\Program files (x86)\IntelSWTools\compilers_and_libraries_2017.x.xxx\<target_os>

  

   

  아래 항목에 대해서, 시스템 변수를 추가한다.

    

   

  - 공통  [변수 : 경로 ]

  1. IPPROOT   :   C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.0.109\windows

  2. IPPINC      :   %IPPROOT%\ipp\include

   

  - WIN32

  3. IPPLIB_WIN32  :  %IPPROOT%\ipp\ia32_win

  4. IPPEXE_WIN32 : %IPPROOT%\redist\ia32_win\ipp


  - X64

  3. IPPLIB_WIN64:  %IPPROOT%\ipp\lib\intel64_win

  4. IPPEXE_WIN64: %IPPROOT%\redist\intel64_win\ipp



 2. VC++ 디렉토리 설정.

    솔류션 프로젝트 속성에서, VC++ Direcotries 항목을 선택하여 아래와 같이 추가한다.


     X86   

    • Include Files $(IPPINC)
    • Library Files $(IPPLIB_WIN32)
    • Executable File $(IPPEXE_WIN32)


 X64   

    • Include Files $(IPPINC)
    • Library Files  $(IPPLIB_WIN64)
    • Executable File $(IPPEXE_WIN64)  



   :: VC++ 샘플 프로그램 실행.


   1. VC++ 를 이용하여 컨솔프로젝트를 생성한다.  


   2.  첨부한 파일을 추가 한다. 
   3.  첨부한 ipp.props 파일을 프로퍼티 매니저를 이용해 추가한다.
   3.  빌드한다. 
   4.  관련 dll 을 작업 디렉토리에 복사한다. 여기서는 ippcore.dll 를 추가하면 된다.
 :: 예제프로그램  경로 및 레퍼런스
   
   - 예제프로그램.
     1. C:\Program files (x86)\IntelSWTools\compilers_and_libraries_2017.x.xxx\<target_os>\ipp\components  로 이동하면, 아래 파일들이 존재한다. 
   
         a. components_and_examples_win_ps.zip
         b. components_and_examples_mic.zip 

      2.  여기서, components_and_examples_win_ps.zip 압축을 푼 후,  components_and_examples_win_ps\components\examples_core 경로로 이동하면,  솔류션 파일을 확인 할 수 있다.

      3. 빌드 가이드는 아래 문서를 참고한다.
        https://software.intel.com/en-us/articles/code-samples-for-intel-integrated-performance-primitives-library#samples_status


   - 레퍼런스. 
     C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.0.109\windows\documentation\en\ipp\common\ipp_userguide
      
  
         

   

  

 














+ Recent posts