728x90

병렬 프로그래밍

- cpu를 병렬로 사용하여 성능을 개선시켜주는 프로그래밍 방법

- openmp와 mpi 가 있음

 

openmp

- 스레드 기반 병렬 프로그래밍

- 단일 컴퓨터 병렬

 

mpi

- 프로세스 기반 병렬 프로그래밍

- 여러 컴퓨터 병렬

 

 

 

실습

- 누리온 5호기 슈퍼컴퓨터 사용

- 하나의 cpu만 쓰면 일반 컴퓨터만 사용하는것과 다를것 없음

- 하나의 코어를 쓰기보다 64개 코어를 동시에 쓰는게 더 효율적임

=> 대표적인 방법이 openmp와 mpi

* 하나의 컴퓨터만 사용하는 경우 병렬화 openmp

 

 

 

병렬 프로그래밍에서의 시간

- 하나의 프로세스를 사용하는 시리얼 (순차) 프로그램 . 내가 독점하는 시간

   => 월클락타임 = cpu타임이 동일

- 여러사람이 나눠 사용하는 경우 os가 여러 사람의 요청을 들어주기 위해 시분할 수행

   => 월클락타임 * 1/(사용자 수) =cpu시간

* cpu 시간 : 내가 cpu를 점유한 시간

 

 

병렬 프로그래밍을 통한 소요시간의 차이

- 1개의 코어를 사용할때 1시간 소요

- 2개의 코어를 썻더니 30분 소요 => 2개의 cpu 타임은 동일

=> cpu 타임과 월클럭 타임은 다르다

 

 

 

 

 

300x250

'컴퓨터과학 > 기타' 카테고리의 다른 글

openmp - 6. openmp 예제  (0) 2020.07.29
openmp - 5. 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

+ Recent posts