OpenMP란 멀티쓰레드 기법을 이용하여 병렬처리를 간단히 구현하는 API입니다. C/C++ 그리고 Fortran을 지원하며 C/C++에서는 compiler directives, 라이브러리 루틴, 환경 변수로 이루어지며 실제 사용은 compiler directives로 간단히 할 수 있습니다. 내부적으로는 master쓰레드가 CPU 코어 개수만큼 쓰레드를 생성하여 특정 블럭 내의 내용을 각각의 코어가 병렬적으로 처리할 수 있게 할당하여 처리합니다. 병렬처리 자체는 루프 내의 내용 나누기, 특정 코드내의 섹션 나누기로 크게 나누어 집니다. 하루정도 간단히 사용한 경험으로는 간단한 컴파일 디렉티브 만을 가지고 하나의 함수 내의 처리를 CPU 코어 개수만큼 병렬로 가져가 성능 향상을 이룬다는 것이 굉장히 유용..