• 제목/요약/키워드: OpenMP 프로그램

검색결과 46건 처리시간 0.029초

OpenMP를 이용한 제내지 침수 병렬해석 (Flood Inundation Analysis Using OpenMP Technique)

  • 박재홍
    • 한국수자원학회:학술대회논문집
    • /
    • 한국수자원학회 2016년도 학술발표회
    • /
    • pp.74-74
    • /
    • 2016
  • 복잡한 지형에서 컴퓨터를 이용한 물리적 기반 수치모의는 합리적인 시간내에 연산을 완료하기 위해 대개 큰 연산장비 들을 요구한다. 더욱이 모의되는 현상이 시간단계마다 갱신되어지는 동역학적 현상에 기반된 비정상상태일 때 연산성능은 고려되어지는 가장 중요한 주제가 될 수 있다. 연산 시간을 줄이기 위한 가장 널리 이용되는 전략중의 하나는 적절한 수의 프로세서를 이용하는 병렬 기법이다. 최근 들어 연산속도를 가속화하기 위해 다수의 코어를 이용한 OpenMP 와 MPI 기법들이 병렬해석기법으로 대두되었고 그래픽 연산장치를 이용한 병렬처리 해석기법도 소개되고 있다. 본 연구에서는 중앙연산장치를 이용한 병렬 해석기법을 이용하여 제내지 침수해석의 적용성을 검토하고 그 결과을 비교하였다. 본 연구를 위해 OpenMP 병렬기법을 이용하여 확산파 침수해석 프로그램의 원시코드를 재작성하여 가상 및 실제 유역에 적용하였다. 해석결과는 분산메모리 병렬해석 기법인 MPI를 도입한 모형의 결과와 비교되었다. OpenMP를 도입한 모형과 MPI를 도입한 경우 유량 및 수심의 경우 오차 허용 한계내에 수렴되어 만족되었으나 그러나 연산 속도의 경우 두 기법간의 자료의 저장 방법 차이로 인해 차이를 나타내었다. 가상 유역에 적용된 결과로 검토된 각 기법의 증속(speedup) 효과는 MPI의 경우 4 코어를 이용하였을 때 최고 2.62 배 정도에 도달하는 것으로 나타났다. OpenMP 를 적용한 경우 2.87 배 정도로 나타나 OpenMP 를 이용하였을 때 증속효과가 조금 더 뛰어났다. 이는 두 기법의 메모리 저장방식의 차이로 인해 자료의 전송량과 전송 시간이 적은 OpenMP 를 도입한 모형에서 MPI 모형 보다 상대적으로 뛰어난 결과를 나타내었다. 실제 유역의 적용을 위해 상대적으로 우수한 증속결과를 나타낸 OpenMP를 도입한 모형을 Malpasset 댐 붕괴 유역에 적용하였다. 적용된 요소의 수는 각각 45254, 11352 개로 비교적 많은 요소를 가진 하류지역에 적용하여 병렬효과를 극대화하고자 하였다. 적용결과 두 경우 모두 병렬 해석 기법을 도입한 모형에서 유속과 침수심 등은 순차적 모형과 동일한 값을 나타내었으나 증속효과로 인한 연산시간은 순차적 모형에서 8.57 배로 나타나 병렬 모형의 상대적으로 빠른 연산속도를 판단할 있었다. 위의 적용결과를 통해 계산 요소들이 많은 2 차원 해석의 경우 기존의 단일 코어를 이용한 순차적 해석은 장시간에 걸치 연산시간으로 인해 작업효율이 낮아지는 결과를 발생시킬 수 있으며 병렬 해석을 도입할 경우 주어진 컴퓨터 자원를 효율적으로 이용가능하여 합리적인 연산시간으로 연산결과를 얻는 것이 가능하여 반복적 통계 기법/Ensemble 해석 등을 이용한 종합적 해석이 좀 더 실용적으로 이루어 질 수 있을 것이라고 판단되었다.

  • PDF

멀티 스레딩 기반 병렬 프로그램의 효과적인 디버깅을 위한 추상적 시각화 (Abstract Visualization for Effective Debugging of Parallel Programs Based on Multi-threading)

  • 김영주
    • 한국정보통신학회논문지
    • /
    • 제20권3호
    • /
    • pp.549-557
    • /
    • 2016
  • 효과적인 시각화는 일반적으로 대용량의 디버깅 정보와 프로그램의 추상적 수행모델을 표현하는 것이 중요하다. 본 논문에서는 스레드들간의 논리적 병행성 관계를 나타내는 부분순서 수행그래프를 이용하여 내포병렬성과 임계구역을 가진 OpenMP 병렬 프로그램의 수행양상과 경합정보의 효과적 디버깅을 위해서 효과적으로 제공하는 추상적 시각화 도구를 제안한다. 본 도구는 수행중 추적선택 기법으로 시각화 정보를 위한 공간적 복잡성을 줄이고, 추적된 시각화 정보에 프로그램의 내포병렬성과 임계구역 동기화를 위한 그래프 추상화를 제공하여 시각적 복잡성을 해결한다. 그래프 추상화를 통한 스레드들간의 부분순서 관계와 경합탐지 정보는 프로그램의 제어흐름과 경합의 위치를 구조적으로 파악할 수 있게 하므로 프로그램 수행의 이해와 경합 탐지 및 수정에 효과적이다.

제내지 침수해석을 위한 병렬연산기법의 비교

  • 박재홍
    • 한국수자원학회:학술대회논문집
    • /
    • 한국수자원학회 2017년도 학술발표회
    • /
    • pp.296-296
    • /
    • 2017
  • 본 연구에서는 대규모 유역에서 발생하는 침수 현상을 모의하기 위한 강력하고 정확하며 연산효율이 뛰어난 수치해석 모형을 개발하는 데 있다. 개발된 모형은 확산파 모형을 기본으로 하였고 다수의 코어를 동시적으로 해석하는 병렬연산 기법을 부가하였다. 홍수로 인한 대규모 유역에서의 침수해석은 오랜 시간의 연산 비용을 필요로 한다. 특히 수치화된 지형정보의 이용이나 고정밀 사진 측량 등의 방법을 이용하여 정밀하고 넓은 유역의 디지털 지형자료를 이용한 2 차원 침수해석은 연산 연산의 문제를 더욱 어렵게 할 수 있다. 그러므로 본 연구에서는 제내지나 하류 유역에 발생하는 홍수로 발생된 빠른 침수모의를 위해 병렬화된 침수 해석 모형을 이용하여 병렬 해석 모형의 적용성을 검토하고자 하였다. 연구를 위해 MPI 및 OpenMP 기법을 이용하여 2 차원 침수해석 프로그램의 원시코드를 개선하고 실제 제내지 및 실제 댐 하류유역에 적용하였다. 개발된 모형은 실제 제내지에 적용한 결과를 MPI, OpenMP 병렬해석 기법과 기존의 순차적 모형의 결과를 비교하였다. 모형들의 결과를 제내지의 침수양상, 침수 속도벡터의 방향 및 크기 등의 계산 결과 순차적 모형, MPI 및 OpenMP 모형과의 비교하여 연산 시간은 병렬 해석 모형이 우월함을 보였다.

  • PDF

CUDA와 OPenMP를 이용한 빠르고 효율적인 신경망 구현 (Fast and Efficient Implementation of Neural Networks using CUDA and OpenMP)

  • 박안진;장홍훈;정기철
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권4호
    • /
    • pp.253-260
    • /
    • 2009
  • 컴퓨터 비전이나 패턴 인식 분야에서 이용되고 있는 많은 알고리즘들이 최근 빠른 수행시간을 위해 GPU에서 구현되고 있지만, GPU를 이용하여 알고리즘을 구현할 경우 크게 두 가지 문제점을 고려해야 한다. 첫째, 컴퓨터 그래픽스 분야의 지식이 필요한 쉐이딩(shading) 언어를 알아야 한다. 둘째, GPU를 효율적으로 활용하기 위해 CPU와 GPU간의 데이터 교환을 최소화해야 한다. 이를 위해 CPU는 GPU에서 처리할 수 있는 최대 용량의 데이터를 생성하여 GPU에 전송해야 하기 때문에 CPU에서 많은 처리시간을 소모하며, 이로 인해 CPU와 GPU 사이에 많은 오버헤드가 발생한다. 본 논문에서는 그래픽 하드웨어와 멀티코어(multi-core) CPU를 이용한 빠르고 효율적인 신경망 구현 방법을 제안한다. 기존 GPU의 첫 번째 문제점을 해결하기 위해 제안된 방법은 복잡한 쉐이팅 언어 대신 그래픽스적인 기본지식 없이도 GPU를 이용하여 응용프로그램 개발이 가능한 CUDA를 이용하였다. 두 번째 문제점을 해결하기 위해 멀티코어 CPU에서 공유 메모리 환경의 병렬화를 수행할 수 있는 OpenMP를 이용하였으며, 이의 처리시간을 줄여 CPU와 GPU 환경에서 오버 헤드를 최소화할 수 있다. 실험에서 제안된 CUDA와 OpenMP기반의 구현 방법을 신경망을 이용한 문자영역 검출 알고리즘에 적용하였으며, CPU에서의 수행시간과 비교하여 약 15배, GPU만을 이용한 수행시간과 비교하여 약 4배정도 빠른 수행시간을 보였다.

기상 모델 CFD_NIMR의 최적 성능을 위한 혼합형 병렬 프로그램 구현 (Hybrid Parallelization for High Performance of CFD_NIMR Model)

  • 김민욱;최영진;김영태
    • 대기
    • /
    • 제22권1호
    • /
    • pp.109-115
    • /
    • 2012
  • We parallelized the CFD_NIMR model, which is a numerical meteorological model, for best performance on both of distributed and shared memory parallel computers. This hybrid parallelization uses MPI (Message Passing Interface) to apply horizontal 2-dimensional sub-domain out of the 3-dimensional computing domain for distributed memory system, as well as uses OpenMP (Open Multi-Processing) to apply vertical 1-dimensional sub-domain for utilizing advantage of shared memory structure. We validated the parallel model with the original sequential model, and the parallel CFD_NIMR model shows efficient speedup on the distributed and shared memory system.

Heterogeneous 멀티 코어 환경의 Thick Client에서 VDI 성능 최적화를 위한 혼합 병렬 처리 기법 연구 (VDI Performance Optimization with Hybrid Parallel Processing in Thick Client System under Heterogeneous Multi-Core Environment)

  • 김명섭;허의남
    • 한국통신학회논문지
    • /
    • 제38B권3호
    • /
    • pp.163-171
    • /
    • 2013
  • 최근 HD급 동영상이나 3D 어플리케이션과 같은 이전보다 저사양, 모바일 단말에서는 구동하기 힘든 프로그램들에 대한 이용 요구가 확대되면서 처리해야 할 콘텐츠 데이터들이 고용량화 되고 있다. 클라우드 기반의 VDI(Virtual Desktop Infrastructure) 서비스는 이를 처리하기 위해 효율적인 데이터 처리 능력이 필요해졌으며 QoE(Quality of Experience) 보장을 위한 성능 개선 연구가 이슈가 되고 있다. 본 논문에서는 H/W 성능이 향상되어 CPU와 GPU를 탑재한 Thick Client기반의 3가지 Thick-Thin간 VDI 자원 공유 및 위임이 가능한 VDI 서비스에 대해 제안하며, VDI 서비스 성능의 개선을 위해 CPU와 GPU가 혼합된 Heterogeneous 멀티코어 환경에서 CPU와 GPU 병렬 처리 기법인 OpenMP와 CUDA를 활용하여 VDI 서비스 최적화 방안을 제안하고 기존의 VDI와 비교한 성능을 거론한다.

Symmetric Multi-Processing 시스템에서 다양한 병렬 기법 모델을 적용한 병렬 CUPID 코드의 성능분석 (Performance Analysis of the Parallel CUPID Code for Various Parallel Programming Models in Symmetric Multi-Processing System)

  • 전병진;이재룡;윤한영;최형권
    • 대한기계학회논문집B
    • /
    • 제38권1호
    • /
    • pp.71-79
    • /
    • 2014
  • 본 연구에서는 가압경수로 주요 기기의 고정밀 열수력 해석을 위한 CUPID(Component Unstructured Program for Interfacial Dynamics) 코드의 압력장 해석을 위한 이중공액구배법(Bi-Conjugate Gradient) 알고리즘의 병렬화를 SMP(Symmetric Multi Processing) 시스템에서 고찰한다. 비압축성 후향계단 유동문제의 병렬해석을 다양한 격자 조밀도를 가지는 격자들에 대하여 세 가지 대표적인 병렬 기법(MPI, OpenMP, 하이브리드)을 적용하여 병렬성능 비교를 수행하였다. 병렬처리 성능은 해석 문제의 크기뿐만 아니라 캐쉬 메모리 크기에도 영향을 받으므로, 전체 계산량이 매우 적거나 개별 쓰레드에 사용되는 메모리가 캐쉬 메모리보다 매우 큰 경우에는 병렬화에 의한 성능 향상이 낮음을 확인하였다. 또한, 문제 크기에 상관없이 MPI 기법이 OpenMP보다 성능이 우수했으며, 상대적으로 적은 쓰레드를 사용한 경우엔 하이브리드 기법이 가장 우수한 성능을 보였다.

내포 병렬성을 가지는 OpenMP 프로그램의 최초 경합 탐지 (Detecting the First Race in OpenMP Program with Nested Parallelism)

  • 천병규;우종정;전용기
    • 정보처리학회논문지A
    • /
    • 제8A권3호
    • /
    • pp.253-260
    • /
    • 2001
  • 공유 변수를 가지는 병렬 프로그램의 오류 수정에서 경합 탐지는 중요하다. 왜냐하면, 경합은 프로그램의 비결정적인 수행을 유발하기 때문이다. 기존에 제시된 병렬 프로그램의 오류 수정 기법인 수행중 탐지 기법은 내포된 병렬 프로그램에서 최초 경합 탐지를 보장할 수 없다. 최초 경합을 수정하면 이후에 발생하는 경합들이 나타나지 않을 수 있으므로, 최초경합의 탐지는 중요하다. 본 논문에서는 내포 병렬 루프 프로그램을 대상으로 반복 수행을 통해서 최초경합을 탐지하는 기법을 제시한다. 반복 수행의 횟수는 최악의 경우에 프로그램의 내포 깊이 만큼이며 각 수행시의 효율성은 공유변수의 개수를 V, 프로그램의 최대 병렬성을 T라 할 때, 공간 복잡도 O(VT)와 시간 복잡도 O(T)를 가지므로 기존의 수행중 탐지 기법과 동일하다. 그러므로 본 기법은 효과적이고 실용적인 오류 수정을 가능하게 한다.

  • PDF

멀티 코어 기반의 OFP 성능 향상 기법 연구 (A Study of Performance Advanced Technique of the OFP on Multi-Core)

  • 장현석;원현권;김인규;하석운
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2012년도 춘계학술대회
    • /
    • pp.270-273
    • /
    • 2012
  • 본 논문에서는 비행 운용 프로그램(Operational Flight Program, OFP)의 성능 향상을 위하여 멀티코어 기법을 적용한 임무 컴퓨터(Mission Computer, MC)와 OFP의 디자인에 대해 기술하였다. 우선 멀티 코어 환경에서 태스크로 지정된 영역의 프로그램을 병렬 프로그램의 표준인 오픈엠피(OpenMp)를 사용하여 지정된 코어에서 제어하는 기법을 설계하여, 이를 적용한 멀티 코어 프로그램(Mulit-Core Program, MCP)과 싱글 코어 프로그램(Single-Core Program, SCP)의 성능의 차이점에 대해 기술하였다. 항공기의 임무 컴퓨터 내에 멀티 코어를 지원하는 프로세서(General Processor Module, GPM)에 탑재되는 OFP중, 항법, 통신, 피아식별등의 비행 정보를 조종사에게 제공 및 제어하도록 설계된 전방 상향 제어 비행운용 프로그램(Integrated Up-Front Control OFP, IUFC OFP)의 성능 향상을 위한 멀티 코어 설계 기법을 제시 하였다.

  • PDF