728x90

gcc와 openmp

- 대부분의 컴파일러에는 openmp가 지원됨

-> 컴파일러만 있으면 된다.

 

 

순차 프로그램 컴파일 표기

program vendor compiler expension
C/C++ intel icc/icpc .C, .cc, .cpp, .cxx,
GNU gcc/g++
Cray cc/CC
F77/F90 intel ifort .f, .for, .fpp
GNU gfortran
Cray ftn

 

컴파일 예시

$ {gcc | gfortran} -o test.exe [-03] [-march=knl] test.{c|f90}

$ {icc|ifort} -o test.exe [-03] [-march=knl] test.{c|90}

 

openmp 컴파일

$ {gcc | gfortran} -o test.exe -fopenmp [-03] [-march=knl] test.{c|f90}

$ {icc|ifort} -o test.exe -fopenmp [-03] [-march=knl] test.{c|90}

 

 

간단한 openmp 프로그래밍

- #pragma omp parallel 과 { }부분은 openmp 병렬 영역이라고 한다.

 

 

gcc로 openmp c코드 빌드 및 실행 결과

- -fopenmp 옵션을 준 경우 병렬로 처리해서인지 코어갯수만큼 hello world가 여러개가 뜬다

* openmp의 장점 : -fopenmp 옵션을 주고 뺴고의 차이에 따라 직렬, 병렬 프로그램으로 설정할 수있음

 

 

* .vimrc 파일 내용

- 출처 : https://blog.outsider.ne.kr/518

set nu
syntax on
set mouse=a
set nocompatible " 오리지날 VI와 호환하지 않음
set autoindent " 자동 들여쓰기
set cindent " C 프로그래밍용 자동 들여쓰기
set smartindent " 스마트한 들여쓰기 set wrap
set nowrapscan " 검색할 때 문서의 끝에서 처음으로 안돌아감
set nobackup " 백업 파일을 안만듬
set visualbell " 키를 잘못눌렀을 때 화면 프레시
set ruler " 화면 우측 하단에 현재 커서의 위치(줄,칸) 표시
set shiftwidth=4 " 자동 들여쓰기 4칸
set number " 행번호 표시, set nu 도 가능
set fencs=ucs-bom,utf-8,euc-kr.latin1 " 한글 파일은 euc-kr로, 유니코드는 유니코드로
set fileencoding=utf-8 " 파일저장인코딩
set tenc=utf-8 " 터미널 인코딩
set expandtab " 탭대신 스페이스
set hlsearch " 검색어 강조, set hls 도 가능
set ignorecase " 검색시 대소문자 무시, set ic 도 가능
set tabstop=4 " 탭을 4칸으로
set lbr
set incsearch " 키워드 입력시 점진적 검색
syntax on " 구문강조 사용
filetype indent on "파일 종류에 따른 구문강조
set background=dark " 하이라이팅 lihgt / dark
colorscheme desert " vi 색상 테마 설정
set backspace=eol,start,indent " 줄의 끝, 시작, 들여쓰기에서 백스페이스시 이전줄로
set history=1000 " vi 편집기록 기억갯수 .vim`info에 기록

 

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 - 1. 개요  (0) 2020.07.29

+ Recent posts