728x90
OpenMP
- Open specification for Multi Processing
- 라이브러리가 아님
- 다중 스레드 병렬 프로그래밍을 위한 API
- 포트란이나 C/C++에서 사용 가능
- 공유 메모리 프로그래밍 모델의 표준
- OpenMP 4.0부터 가속기 지원
OpenMP 구성
- 컴파일러 지시어 -> ex. #pragma omp parallel
- 런타임 라이브러리(함수) -> ex. omp_get_thread_num() {스래드 번호 반환 함수}
- 환경변수 -> ex. export OMP_NUM_THREADS=10
OpenMP와 GPU, MPI?
- OpenMP에서는 코어 하나당 스레드하나
- GPU보다는 코어 위주로 사용
- 여러 노드를 사용하려면(멀티 프로세스) MPI 사용해야함
OpenCL
- intel, amd 그래픽 가속기의 경우 OpenCL 사용
Cuda
- nvidia 그래픽 가속기
OpenMP 런타임 함수 사용
- omp_get_thread_num() 해당 스레드 번호 반환 함수 사용
- 우측에 스래드 번호도 같이 출력됨
300x250
'컴퓨터과학 > 기타' 카테고리의 다른 글
openmp - 7. 스레드 관련 (0) | 2020.07.29 |
---|---|
openmp - 6. openmp 예제 (0) | 2020.07.29 |
openmp - 4. 잡 스캐줄러 (0) | 2020.07.29 |
openmp - 3. openmp와 opencv (0) | 2020.07.29 |
openmp - 2. 컴파일 시작하기 (0) | 2020.07.29 |