• Title/Summary/Keyword: OpenMP 프로그램

Search Result 46, Processing Time 0.03 seconds

An Optimized GPU based Filtered Backprojection method (범용 그래픽스 하드웨어 기반 여과후 역투사 최적화 기법에 관한 연구)

  • Park, Jong-Hyun;Lee, Byeong-Hun;Lee, Ho;Shin, Yeong-Gil
    • 한국HCI학회:학술대회논문집
    • /
    • 2009.02a
    • /
    • pp.436-442
    • /
    • 2009
  • Tomography images reconstructed from conebeam CT make it possible to observe inside of the projected object without any damage, and so it has been widely used in the industrial and medical fields. Recent advanced imaging equipment can produce high-resolution CT images. However, it takes much time to reconstruct the obtained large dataset. To reduce the time to reconstruct CT images, we propose an accelerating method using GPU (graphics processing unit). Reconstruction consists of mainly two parts, filtering and back-projection. In filtering phase, we applied 4ch image compression method and in back-projection phase, computation reduction method using depth test is applied. The experimental results show that the proposed method accelerates the speed 50 times than the CPU-based program optimized with OpenMP by utilizing the high-computing power of parallelized GPU.

  • PDF

Optimal Operation of the 3D Water Quality Model for Water Quality Forecast (수질예보를 위한 3차원 모형의 최적 운영 기법)

  • Lee, Seungjae;Kim, Hyeonsik;Sa, Sungoh;Hwang, Hyunsik
    • Proceedings of the Korea Water Resources Association Conference
    • /
    • 2016.05a
    • /
    • pp.72-72
    • /
    • 2016
  • 최근 발생하고 있는 기후변화로 인하여 하천 및 저수지의 수질문제가 커지고 있다. 특히 여름철 부영양화로 인해 발생하는 녹조현상은 사회적인 문제로 과학적인 수질사고에 대한 예측과 관리가 필요한 실정이다. 수질예보는 정기적으로 하천 및 저수지의 수질을 예측하여 사용자에게 제공하는 분석기법으로 수질현황을 파악하고 수질을 관리하고 의사결정을 하는데 도움을 줄 수 있다. 수질예보에 사용되는 모형은 유역모형, 하천모형, 저수지모형이 있으며, 이중 하천 및 저수지에 주로 적용되고 있는 3차원 수리수질모형의 경우 격자의 개수가 많아 모의시간이 길어지게 되고 이로 인해 일일 수질 예보가 어렵게 된다. 3차원 수리수질모형의 모의속도를 개선하는 방법에는 하드웨어의 성능을 높이는 방법과 병렬화를 이용한 소프트웨어적인 방법이 있다. 이중 하드웨어의 성능을 높이는 방법은 컴퓨터의 사양을 높이는 방법으로 높은 비용이 소요된다. 하지만 병렬화 방법은 컴퓨팅 기술의 발전으로 멀티코어가 대중화가 된 최근에 코드의 적용만으로 모의속도를 향상시킬 수 있다. 본 연구에서 사용된 모형은 서호주대학에서 개발한 3차원 수리 수질모형인 ELCOM-CAEDYM 모형으로 적용된 병렬화 기법은 OpenMP(Open Multi-Processing)방법이다. 기존 직렬 컴퓨팅 방식으로 구성되어 한번에 한 개의 명령어 밖에 처리할 수 없었던 작업방법을 동시에 여러 개의 처리요소를 이용하여 명령을 실행할 수 있게 하는 방식이다. 하지만 CPU의 개수는 제한되어 있으며, Amdahl's law에 따르면 OpenMP방식의 병렬화시 속도개선효과는 95% 병렬화 프로그램에서 최대 CPU 개수의 제한이 없다면 20배 까지 속도향상이 가능하다고 하였다. 본 연구에서는 3차원 수리 수질예측 모형인 ELCOM-CAEDYM에 적용된 병렬화 기법을 적용하는데 있어 최적 CPU사용 개수를 파악 하고자 하였으며, 이를 통해 수질예보시스템을 운영하는데 가장 효율적인 방법을 찾아 적용하고자 하고자 한다.

  • PDF

Potential Races Detection in Shared-Memory Programs with Internal Nondeterminism (내부적 비결정성을 가진 공유 메모리 프로그램의 잠재적 경합 탐지)

  • Jung, Min-Sub;Kim, Young-Joo;Ha, Ok-Kyoon;Jun, Yong-Kee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.05a
    • /
    • pp.553-556
    • /
    • 2008
  • 임계구역을 가진 공유 메모리 기반의 병렬 프로그램에서 발생하는 경합은 프로그래머가 의도하지 않은 비결정적인 수행 결과를 초래하므로 반드시 디버깅해야 한다. 이러한 경합을 수행 중에 탐지하는 기존의 기법들은 임계구역의 실행순서에 의해서 발생하는 내부적 비결정성이 존재하지 않는 프로그램에 대해서만 경합의 존재를 검증할 수 있다. 본 논문에서는 내부적 비결정성을 가진 프로그램에 존재하는 비결정적 접근사건을 정적으로 분석하고, 이 정보를 이용하여 수행 중에 경합을 탐지함으로써 잠재되어 있는 경합까지 탐지할 수 있는 도구를 제안한다. 제안한 도구는 비결정성이 포함된 합성프로그램과 공인된 OpenMP 벤치마크 프로그램인 Microbenchmark를 이용하여 경합 검증이 가능함을 보인다.

Design Considerations on Large-scale Parallel Finite Element Code in Shared Memory Architecture with Multi-Core CPU (멀티코어 CPU를 갖는 공유 메모리 구조의 대규모 병렬 유한요소 코드에 대한 설계 고려 사항)

  • Cho, Jeong-Rae;Cho, Keunhee
    • Journal of the Computational Structural Engineering Institute of Korea
    • /
    • v.30 no.2
    • /
    • pp.127-135
    • /
    • 2017
  • The computing environment has changed rapidly to enable large-scale finite element models to be analyzed at the PC or workstation level, such as multi-core CPU, optimal math kernel library implementing BLAS and LAPACK, and popularization of direct sparse solvers. In this paper, the design considerations on a parallel finite element code for shared memory based multi-core CPU system are proposed; (1) the use of optimized numerical libraries, (2) the use of latest direct sparse solvers, (3) parallelism using OpenMP for computing element stiffness matrices, and (4) assembly techniques using triplets, which is a type of sparse matrix storage. In addition, the parallelization effect is examined on the time-consuming works through a large scale finite element model.

Particle Dispersion Model Speed Improvement and Evaluation for Quick Reaction to Pollutant Accidents (신속한 오염사고 대응을 위한 입자 분산 모형의 속도 개선 및 평가)

  • Shin, Jaehyun;Seong, Hoje;Park, Inhwan;Rhee, Dong Sop
    • The Journal of the Korea Contents Association
    • /
    • v.20 no.12
    • /
    • pp.537-546
    • /
    • 2020
  • This study deals with the development and improvement of a particle dispersion model for quick response to water pollutant accidents. The developed model is based on the shear dispersion theory where vertical mixing is done by step by step mixing by vertical and molecular diffusion algorithm. For the quick response to chemical accidents, an algorithm for multi-core modeling for the particle dispersion model is applied. After the application of multi-core operation using OpenMP directives to the model, the relation for the calculation time and particle size were determined along with the number of cores used for parallel programming to determine the model time for chemical accident responses. The results showed the adequate conditions for the modeling of chemical accidents for quick response and to increase the applicability of the model.

Benchmarking the Intel Xeon Phi Coprocessor with Intel MKL library (인텔 MKL 라이브러리를 이용한 Xeon Phi Coprocessor 벤치마크)

  • Park, Young-Soo;Park, Koo-Rack;Kim, Jin-Mook
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2014.07a
    • /
    • pp.1-4
    • /
    • 2014
  • 인텔 Many Integrated Core (MIC) 아키텍쳐는 61개의 코어가 하나의 칩에 결합되어 있다. Xeon Phi 로 명명된 인텔 MIC는 인텔 E5 Xeon CPU 보다 2배의 single precision GFLOPs 성능을 제공한다. 인텔 MIC 는 수치연산에 최적화 되어 있는 아키텍쳐이다. 우리는 Xeon Phi 7120P를 가지고 벤치마킹을 하였고 클락스피드 1.238GHz, 61Core 이고 한 개의 코어당 4쓰레드를 사용하며 이론상 최고 성능은 Peak Double Precision(GFLOP)는 약 2-TFlops 이다. 이에 우리는 인텔 X86 아키텍쳐에서 openMP 와 인텔 MKL(Math kernel library) 라이브러리를 이용한 병렬프로그램을 작성하여 쓰레드 수를 증가 시키면서 인텔 Xeon Phi 와 E5 Xeon CPU에서 single precision 성능을 벤치마킹 하여, Xeon Phi 와 Xeon E5 의 이론적인 성능을 비교해 보고자 한다. 또한 openMP와 인텔 MKL라이브러리를 사용한 병렬환경에서 CPU의 성능 지표인 클락스피드와 코어수 외에 Vector unit size 의 크기가 성능에 어떤 영향을 미치는지 살펴보았다.

  • PDF

Performance Analysis of Embedded Applications (임베디드 응용 프로그램 성능 분석)

  • 김선욱;오재근;한영선;최홍욱;김철우
    • Proceedings of the IEEK Conference
    • /
    • 2003.07d
    • /
    • pp.1355-1358
    • /
    • 2003
  • This paper presents performance analysis of the embedded application, called EEMBC consisting of 5 categories and total 34 applications. We measured various performance metrics, such as code sizes, TLP(Thread Level Parallelism) using OpenMP API and ILP(Instruction Level Parallelism) on ARM-modeled SimpleScalar in detail. We show that the embedded applications have the similar characteristics as integer applications to deliver low ILP and TLP in our environment. They have many small loops, which result in large instruction overhead in TLP and loop control overhead in ILP.

  • PDF

The 3-Dimensional Visualization in Shared-Memory Programs with Nested Parallelism (내포 병렬성을 가진 공유메모리 프로그램의 3차원 시각화)

  • Park, Myeong-Chul;Hur, Hwa-Ra;Ha, Seok-Wun
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.12 no.1
    • /
    • pp.53-58
    • /
    • 2008
  • A pellet program including a nested parallelism has a result of non-deterministic because of executed concurrently without synchronization. In order to detect like this error the visualization technique which is various is used. But the intuition characteristic is decreased because of limits of space and excessive abstraction. In this paper, proposes 3-D visualization engines which provide global structure of the arranging in a parallel program with nested parallelism which is complicated to the user. The visualization engine which is proposed provides global structure to the user as program easily to understand, it provides an effective debugging environment.

The Survey of Parallel Programming Techniques for Developing Optimized Software in Multi-core System (멀티코어 시스템에서 최적화된 소프트웨어 개발을 위한 병렬처리 프로그래밍 기법 조사)

  • Lee, Ki-Hong;Kim, Jee-Hong;Eom, Young-Ik
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.36-38
    • /
    • 2012
  • 이제 멀티코어 CPU가 보편화 되었지만 대다수의 프로그래밍 언어가 단일 코어를 대상으로 발전되었기 때문에 병렬화에 어려움이 있다. 이를 해결하고자 병렬처리 기법들이 연구되고 있지만 오히려 개발자는 여러 기법들 사이에서 혼란스러울 수 있다. 본 논문에서는 개발자들이 처한 상황에서 적절한 기법을 선택하는데 도움이 되고자 주요 병렬처리 기법인 OpenMP, Threading Building Blocks, Cilk Plus, Parallel Patterns Library를 비교 및 평가하였다. 각 기법마다 지원 기능, 지원 방식, 스케줄링 기법 등 개발자가 프로그램을 개발함에 있어 고려해야 할 특징들이 서로 다르고 각기 장단점이 존재한다. 따라서 병렬처리 기법을 선택하고 구현함에 있어 특정한 하나의 기법에 의존하는 것보다는 여러 기법들의 특성을 파악하여 상황에 맞는 기법을 선택한다면 보다 효율적이면서도 쉽게 병렬처리를 구현할 수 있다.

A DSP Platform for the HD Multimedia Streaming (HD급 멀티미디어 Streaming을 위한 DSP Platform)

  • Hong, Keun-Pyo;Moon, Jae-Pil;Park, Jong-Son;Kim, Dong-Hwan;Chang, Tae-Gyu
    • Proceedings of the KIEE Conference
    • /
    • 2005.10b
    • /
    • pp.409-411
    • /
    • 2005
  • 본 논문에서는 HD급 멀티미디어 streaming을 처리할 수 있는 DSP 플랫폼을 개발하였다. DSP 플랫폼은 Tl사의 C6400계열 DSP를 사용하였고 다채널의 오디오와 HD급 화질의 비디오_ 데이터를 처리할 수 있다. DSP가 decoder의 기능을 부담함으로써 하드웨어의 재구성이 용이하며 코덱을 다운로드하기 때문에 유연한 멀티미디어 컨텐츠의 재생이 가능하다. 개발한 DSP 플랫폼을 호스트 PC에 설치하여 PC로부터 DSP Configuration 파일과 멀티미디어 스트리밍 데이터를 전송받는 구조를 가진다. 소프트웨어는 실시간으로 demux를 실행하여 오디와 비디오_ 데이터를 분리하석 DSP 플랫폼의 외부메모리에 저장하고 동시에 비디오와 오디오의 디코딩을 실행한다. 오디오와 비디오 데이터의 버퍼 언더런/오버런을 극할 수 있는 buffer control 기법을 적용하였다. 호스트 PC에서 DSP 플랫폼으로의 스트리밍을 하기 위하여 Open Architecture 기반의 Windows OS에서 스트리밍 서비스 프로그램을 구현 하였다. 마지막으로 MPEG-2 video MP@ML인 비디오 코덱과 5.1ch 48kHz AC3인 오디오 코덱으 구성된 streaming 데이터를 사용하여 DSP 플랫폼을 검증하였다.

  • PDF