'Programming/openMP'에 해당되는 글 26건

  1. 2012.06.18 openMP 문서들
  2. 2012.06.18 openmp for문 나누기
  3. 2012.06.10 libgomp 공식 사이트 / 문서
  4. 2012.06.09 우분투에서 openMP 예제
  5. 2012.06.09 openMP / gcc -fopenmp
  6. 2011.02.05 openMP
Programming/openMP2012. 6. 18. 23:17
libgomp 공식 문서 보다는, osc.eud의 문서가 보기 쉽고 정리가 잘 된듯한 느낌.

[링크 : http://www.osc.edu/supercomputing/training/openmp/openmp_0311.pdf]
[링크 : http://gcc.gnu.org/onlinedocs/libgomp.pdf
Posted by 구차니
Programming/openMP2012. 6. 18. 23:00
2C4T 시스템이니 4의 배수로 한번 테스트

parallel for를 통해서 자동으로 나누어 주도록 하면 되는데,
결과를 보면 순서가 틀어져서 나온다. (나누어 실행하되 누가 먼저 실행될진 모르니)
$ cat test.c
#include <stdio.h>
#include <omp.h>

int main(int argc, const char *argv[])
{
    int idx = 0;
    #pragma omp parallel for
    for(idx = 0; idx < 16; idx++)
         printf("%d\n",idx);

    return 0;
} 

$ ./a.out
0
1
2
3
12
13
14
15
4
5
6
7
8
9
10
11 

'Programming > openMP' 카테고리의 다른 글

TBB - Threading Building Blocks by intel  (0) 2013.01.08
openMP 문서들  (0) 2012.06.18
libgomp 공식 사이트 / 문서  (0) 2012.06.10
우분투에서 openMP 예제  (0) 2012.06.09
openMP / gcc -fopenmp  (0) 2012.06.09
Posted by 구차니
Programming/openMP2012. 6. 10. 20:08
openMP의 GNU 구현 버전인 libgomp(Gnu OpenMP)

[링크 : http://gcc.gnu.org/onlinedocs/libgomp/]
[링크 : http://gcc.gnu.org/onlinedocs/libgomp.pdf]

'Programming > openMP' 카테고리의 다른 글

openMP 문서들  (0) 2012.06.18
openmp for문 나누기  (0) 2012.06.18
우분투에서 openMP 예제  (0) 2012.06.09
openMP / gcc -fopenmp  (0) 2012.06.09
openMP  (0) 2011.02.05
Posted by 구차니
Programming/openMP2012. 6. 9. 19:26
예제를 따라하고 출력을 해보니 먼가 이상한거 발견
hello가 아니라 hell world래.. 지옥에 오신걸 환영합니다 인가 -_-
atom330(2core / 4thread) 이라서 일단 4개 쓰레드로 기본 실행 된 듯.

$ vi test.c
#include <stdio.h>
#include <omp.h>

int main(int argc, const char *argv[])
{
    #pragma omp parallel
    printf("hell world\n");

    return 0;
}
 
$ gcc -fopenmp test.c
$ ./a.out
hell world
hell world
hell world
hell world

[링크 : http://assaart.co.cc/wordpress/?p=59

'Programming > openMP' 카테고리의 다른 글

openMP 문서들  (0) 2012.06.18
openmp for문 나누기  (0) 2012.06.18
libgomp 공식 사이트 / 문서  (0) 2012.06.10
openMP / gcc -fopenmp  (0) 2012.06.09
openMP  (0) 2011.02.05
Posted by 구차니
Programming/openMP2012. 6. 9. 19:14
openMP는 컴파일러의 도움을 받아야 하기 때문에
소스에 openMP를 사용하는지에 대한 플래그를 컴파일러에 넘겨주어야 한다.
gcc의 경우 -fopenmp를 통해서 openmp의 사용을 알려 #pragma omp 라는 구문을 해석하도록 한다.

$ man gcc
       -fopenmp
           Enable handling of OpenMP directives "#pragma omp" in C/C++ and
           "!$omp" in Fortran.  When -fopenmp is specified, the compiler
           generates parallel code according to the OpenMP Application Program
           Interface v3.0 <http://www.openmp.org/>.  This option implies
           -pthread, and thus is only supported on targets that have support
           for -pthread. 

[링크 : http://goulassoup.wordpress.com/2011/10/28/openmp-tutorial/]
[링크 : http://assaart.co.cc/wordpress/?p=59



+
우분투에서는 아래의 명령어로 openMP를 설치할 수 있다. gomp는 GNU OpenMP 의 약자이다
$ sudo apt-get install libgomp1 

'Programming > openMP' 카테고리의 다른 글

openMP 문서들  (0) 2012.06.18
openmp for문 나누기  (0) 2012.06.18
libgomp 공식 사이트 / 문서  (0) 2012.06.10
우분투에서 openMP 예제  (0) 2012.06.09
openMP  (0) 2011.02.05
Posted by 구차니
Programming/openMP2011. 2. 5. 22:58
CUDA를 보다가 context 관련 해서 나온 또 다른(?) open계열 API

대충 보니까, CPP(C Pre-Processor/매크로 프로세서)의 도움을 받아
#pragma 형식으로 확장을 하여 Multi Processor를 지원하는 것으로 보인다.



'Programming > openMP' 카테고리의 다른 글

openMP 문서들  (0) 2012.06.18
openmp for문 나누기  (0) 2012.06.18
libgomp 공식 사이트 / 문서  (0) 2012.06.10
우분투에서 openMP 예제  (0) 2012.06.09
openMP / gcc -fopenmp  (0) 2012.06.09
Posted by 구차니