• 제목/요약/키워드: OpenMP implementation

검색결과 22건 처리시간 0.034초

단일 칩 다중 프로세서상에서 운영체제를 사용하지 않은 OpenMP 구현 및 주요 디렉티브 변환 (Implementation and Translation of Major OpenMP Directives for Chip Multiprocessor without using OS)

  • 전우철;하순회
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제34권4호
    • /
    • pp.145-157
    • /
    • 2007
  • 단일 칩 다중 프로세서의 경우 표준화된 병렬 프로그래밍 방법이 없는데 OpenMP를 사용하면 병렬 프로그래밍이 쉬우므로 OpenMP는 단일 칩 다중 프로세서를 위한 매력적인 병렬 프로그래밍 모델이다. 그런데 단일 칩 다중 프로세서 시스템의 구조는 대상 응용 프로그램에 따라 다양할 수 있다. 따라서 각 시스템마다 다른 방식으로 OpenMP를 구현해야 할 필요가 있다. 본 논문에서는 운영체제를 사용하지 않는 단일 칩 다중 프로세서를 위한 OpenMP 구현과 주요 디렉티브의 효과적인 변환을 제안하여 특수한 하드웨어에 의존하지 않고 OpenMP 디렉티브의 추가적인 확장 없이 성능을 향상 시킬 수 있게 한다. 실험은 대상 플랫폼인 CT3400에서 수행하고 그 결과를 제시한다.

ARM11MPCore에서 POSIX 쓰레드를 이용한 OpenMP 구현 (OpenMP Implementation using POSIX thread library on ARM11MPCore)

  • 이재원;전우철;하순회
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 가을 학술발표논문집 Vol.34 No.2 (B)
    • /
    • pp.414-418
    • /
    • 2007
  • 멀티프로세서 환경에서 OpenMP는 MPI 에 비해 병렬 프로그래밍을 쉽게 할 수 있다는 장점을 가지고 있고, OpenMP는 표준이 없는 병렬 프로그래밍 세계에서 실질적인 표준으로써 인정받고 있다. OPenMP는 대상 플랫폼에 따라 OpenMP 구현을 다르게 해야 하기 때문에 새로운 프로세서가 등장하면 그에 맞는 OpenMP구현을 만들어야 한다. 이 논문에선 다중 프로세서 시스템-온-칩 시스템인 ARM11MPCore 시스템 위에 POSIX 쓰레드에 기반하여 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배정도 빠른 수행시간을 보였다.

OpenMP 병렬프로그램을 이용한 그물의 수중형상 시뮬레이션 구현 (Implementation of Underwater Simulation of a Net using OpenMP)

  • 박명철;박석규
    • 한국컴퓨터정보학회논문지
    • /
    • 제13권2호
    • /
    • pp.11-17
    • /
    • 2008
  • 수중에서 그물의 형상변화는 다양한 벡터에 의해 영향을 받게 된다. 그러나 그물의 각 입자마다 모든 벡터의 영향을 계산하는 것은 정확성과 사실성은 증대하지만, 방대한 계산량으로 처리 시간이 많이 소요된다. 기존의 시뮬레이션 방법들은 물리적 사실성을 희생하고 시각적인 사실성을 유지하는 범위에서 수중 가상현실을 시뮬레이션으로 구현하였다. 본 논문에서는 입자들의 병렬처리를 통하여 물리적, 시각적 사실성을 모두 만족하는 시뮬레이션을 제안한다. 병렬처리를 위해서는 OpenMP를 이용하였고, 사실적 그래픽 표현은 OpenGL을 사용하여 구현하였다. 본 논문에서 구현한 시뮬레이션은 게임 및 해양수산 분야에서 모델분석이나 전문가 시스템구축을 위한 기초자료로 활용될 수 있을 것이다.

  • PDF

OpenMP를 이용한 HEVC 디블록킹 필터의 병렬화 구현 (Parallel implementation of HEVC deblocking filter with OpenMP)

  • 조현호;서정한;유은경;심동규
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2011년도 추계학술대회
    • /
    • pp.328-330
    • /
    • 2011
  • 본 논문에서는 OpenMP를 이용하여 HEVC 복호화기의 디블록킹 필터를 병렬화하는 것을 제안한다. 본 논문에서는 HEVC 디블록킹 필터를 병렬화하기 위하여 슬라이스를 병렬 처리가 가능한 코어의 개수만큼의 영역으로 균등하게 분할 한 후 각 영역에 코어를 할당하였다. 각 영역에 할당된 코어들은 자신의 영역 내의 LCU에 대해서 순차 주사 순으로 필터링을 수행하는데, 먼저 영역 내의 모든 LCU에 대하여 수평방향으로 필터링을 수행한다. 이러한 수평방향 필터링이 완료된 후 동일한 영역에 대하여 다시 수직 방향으로 필터링을 수행한다. 본 논문에서 제안하는 OpenMP를 이용한 HEVC 디블록킹 필터 병렬화를 통하여 4-Core 환경에서 복호화기에서 디블록킹 필터링의 수행 시간을 약 2.51배 감소 시켰다.

  • PDF

병렬구조를 이용한 증강현실 구현 (Implementation of augmented reality using parallel structure)

  • 박태룡;허훈;곽재창
    • 전기전자학회논문지
    • /
    • 제17권3호
    • /
    • pp.371-377
    • /
    • 2013
  • 본 논문에서는 FAST와 BRIEF 알고리즘을 기반으로 하는 증강현실을 구현하기 위해서 효율적인 병렬 구조를 제안한다. 객체 인식 알고리즘으로 잘 알려진 SURF 알고리즘은 객체인식에 강인하지만 연산 량이 많아 실시간으로 구현하기에 어려운 단점을 가지고 있다. FAST와 BRIEF 알고리즘을 활용하여 객체를 인식하였고, 임베디드 환경에서 성능을 향상하기 위해 기존의 OpenMP 라이브러리를 사용한 병렬구조를 개선하여 속도를 약 70%에서 100%로 향상 시켰다.

반도체 공정을 위한 OpenMP와 MPI 기반의 FDTD 시뮬레이션 연산 환경 구축 (Implementation of FDTD simulation using OpenMP and MPI for semiconductor process)

  • 이승일;이철훈
    • 한국콘텐츠학회:학술대회논문집
    • /
    • 한국콘텐츠학회 2015년도 춘계 종합학술대회 논문집
    • /
    • pp.59-60
    • /
    • 2015
  • 반도체 공정에서는 소자 내부의 물리량 계산을 통해 결점를 검출하는 시뮬레이션을 수행하게 된다. 이를 위해 3차원적 형상을 표현하여 물리적 미분 방정식을 계산하는 유한 차분 시간 영역 알고리즘(Finite-Difference Time-Domain, 이하 FDTD)과 같은 수치해석 기법이 사용된다. 반도체 테스트 범위의 확장으로 인해 시뮬레이션 사이즈 또한 커지고 있는 추세이다. 이에 따라 하나의 프로세서에서 수행할 수 없는 문제가 발생하기도 한다. 이를 해결하기 위해 본 논문에서는 openMP와 MPI를 이용한 하이브리드 컴퓨팅 기법을 바탕으로 다중 GPU 제어를 통해 시뮬레이션 환경을 구축하였으며 정상 동작함을 확인하였다.

  • PDF

OpenCL을 이용한 임베디드 GPGPU환경에서의 AES 암호화 성능 개선과 평가 (Performance Enhancement and Evaluation of AES Cryptography using OpenCL on Embedded GPGPU)

  • 이민학;강우철
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제22권7호
    • /
    • pp.303-309
    • /
    • 2016
  • 최근, ARM Mali와 같은 여러 임베디드 프로세서들이 OpenCL과 같은 GPGPU 프레임워크를 지원함에 따라 기존 PC 환경에서 활용되던 GPGPU 기술이 임베디드 시스템 영역으로 확대 되고 있다. 그러나 임베디드 시스템은 PC와는 상이한 구조를 갖으며, 저전력이나 실시간성과 같은 성능이 더욱 중요하다. 본 논문에서는 임베디드 GPGPU환경에서 AES 암호화 알고리즘을 개방형 범용 병렬 컴퓨팅 프레임워크인 OpenCL을 사용하여 구현하고 이를 CPU만을 이용한 구현과 비교한다. 실험결과, 1000KByte의 데이터 사이즈의 128비트 AES 암호화 시에 OpenCL을 사용하여 GPU로 병렬 처리하는 것이 OpenMP를 사용하여 CPU상에서 병렬 처리한 방식보다 응답 시간은 최대 1/150, 에너지 소비량은 최대 1/290로 감소함을 확인하였다. 또한 호스트와 GPU 디바이스 간에 메모리를 공유하는 임베디드 구조의 특성에 최적화하여 메모리 복제를 하지 않는 기법을 적용하는 경우 응답시간과 에너지 소비량에서 최대 100% 이상의 추가적인 성능개선을 이룰 수 있었으며, 연구에서 사용한 데이터의 크기에 비례하여 더 높은 성능의 개선이 나타나는 것을 확인하였다.

Assessment of computational performance for a vector parallel implementation: 3D probabilistic model discrete cracking in concrete

  • Paz, Carmen N.M.;Alves, Jose L.D.;Ebecken, Nelson F.F.
    • Computers and Concrete
    • /
    • 제2권5호
    • /
    • pp.345-366
    • /
    • 2005
  • This work presents an assessment of the computational performance of a vector-parallel implementation of probabilistic model for concrete cracking in 3D. This paper shows the continuing efforts towards code optimization as reported in earlier works Paz, et al. (2002a,b and 2003). The probabilistic crack approach is based on the direct Monte Carlo method. Cracking is accounted by means of 3D interface elements. This approach considers that all nonlinearities are restricted to interface elements modeling cracks. The heterogeneity governs the overall cracking behavior and related size effects on concrete fracture. Computational kernels in the implementation are the inexact Newton iterative driver to solve the non-linear problem and a preconditioned conjugate gradient (PCG) driver to solve linearized equations, using an element by element (EBE) strategy to compute matrix-vector products. In particular the paper analyzes code behavior using OpenMP directives in parallel vector processors (PVP), such as the CRAY SV1 and CRAY T94. The impact of the memory architecture on code performance, and also some strategies devised to circumvent this issue are addressed by numerical experiment.