• 제목/요약/키워드: parallel programming

검색결과 295건 처리시간 0.026초

Full Search Equivalent Motion Estimation Algorithm for General-Purpose Multi-Core Architectures

  • Park, Chun-Su
    • 반도체디스플레이기술학회지
    • /
    • 제12권3호
    • /
    • pp.13-18
    • /
    • 2013
  • Motion estimation is a key technique of modern video processing that significantly improves the coding efficiency significantly by exploiting the temporal redundancy between successive frames. Thread-level parallelism is a promising method to accelerate the motion estimation process for multithreading general-purpose processors. In this paper, we propose a parallel motion estimation algorithm which parallelizes the motion search process of the current H.264/AVC encoder. The proposed algorithm is implemented using the OpenMP application programming interface (API) and can be easily integrated into the current encoder. The experimental results show that the proposed parallel algorithm can reduce the processing time of the motion estimation up to 65.08% without any penalty in the rate-distortion (RD) performance.

지식 기반 지능형 로봇의 행위 지정을 위한 구조적 반응 언어 (A Structured Reactive Robot Programming Language for Knowledge-Based Intelligent Robots)

  • 이재호;곽별샘
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권5호
    • /
    • pp.370-377
    • /
    • 2010
  • 지능 로봇은 복잡하고 동적인 환경 내에서 상황의 변화에 적절히 적응하여 사용자에게 다양한 서비스를 제공하는 지능 시스템이다. 따라서 로봇은 행위를 수행하는 동안 지속적으로 상황의 변화를 감지하여 변화에 적절히 반응해야 하며 주어진 상황에 대해 최선의 행위를 결정하여 수행할 수 있어야 한다. 또한 때때로 임의의 행동을 결정하여 보다 지능적인 행위를 수행할 수 있어야 한다. 본 논문에서는 이러한 지능 로봇의 복잡한 행위를 효과적으로 정의하고 구현하기 위해 Structured Circuit Semantics(SCS)에 기초를 둔 프로그래밍 언어(Structured Programming for Reactive Intelligent Tasks, SPRIT)와 SPRIT으로 작성된 프로그램을 다양한 로봇 환경에서 실행하고 검증하기 위한 작업 실행기(Task Executor)를 제시한다.

Redundancy Cell Programming이 용이한 병렬 I/O DRAM BIST (Parallel I/O DRAM BIST for Easy Redundancy Cell Programming)

  • 유재희;하창우
    • 대한전자공학회논문지SD
    • /
    • 제39권12호
    • /
    • pp.1022-1032
    • /
    • 2002
  • 테스트와 동시에 오류 비트의 수와 위치를 파악하도록 하여 redundancy 프로그래밍이 용이한 다수 비트 출력 DRAM을 위한 BIST 구조가 소개되었다. 일반적으로, DRAM 셀이 n개의 블록으로 구성된 경우에, 단지 n개의 비교기와 한 개의 3가지 상태 엔코더를 사용하여, 무오류 상태, 한 개의 오류가 있을 경우, 오류상태 및 오류비트가 존재하는 블록의 위치, 두개의 블록에 오류가 있을 경우 오류 상태 등 총 n + 2개의 상태를 나타낼 수 있다. 제안된 방법을 통하여, 두개 이상의 블록에 오류가 있을 경우, 오류 비트의 위치와 수를 파악하는 방법으로 용이하게 확장 구현가능하다. 8블록으로 구성된 64MEG DRAM 경우의 성능 비교 결과 단지 0.115%의 칩 면적 증가로, 테스트 및 redundancy 프로그래밍 시간이 1/750로 감소하였다.

순차 Shear-Warp 알고리즘을 이용한 병렬볼륨렌더링의 구현 (Implementation of Parallel Volume Rendering Using the Sequential Shear-Warp Algorithm)

  • 김응곤
    • 한국정보처리학회논문지
    • /
    • 제5권6호
    • /
    • pp.1620-1632
    • /
    • 1998
  • 본 논문에서는 볼륨렌더링을 위한 빠른 병렬 알고리즘을 제안하고, 이를 4,096개의 프로세서를 가진 MasPar MP-2범용병렬 컴퓨터에서 C 언어와 MPL(MasPar Programming Language)언어를 이용하여 구현하였다. 본 알고리즘은 현재 가장 빠른 순차 볼륨 렌더링 알고리즘으로 알려진 Lacroute의 Shear-Warp 알고리즘을 병렬화한 것이다. 본 병렬 알고리즘은 밀림변환 공간 분할 기법과 이전의 렌더링 단계에서 얻은 부하정보를 이용하여 다음 렌더링시 부하를 균형화하는 부하균형화 기법을 이용함으로써 통신 오버헤드를 줄이며, 연속길이부호화 기법에 의한 볼륨 데이터 구조를 이용함으로써 처리할 복셀의 수를 크게 줄인다. MasPar MP-23에서 $128\times128\times128$복셀로 구성된 인체 두뇌 볼륨 데이터세트에 대하여 실험한 결과 초당 3~4프레임의 속도로 렌더링하였으며 본 알고리즘의 확장성에 의하여 16,384개의 프로세서를 가진 MasPar MP-2 시스템에서는 초당 12~16프레임의 렌더링이 가능할 것으로 기대된다. 또한 더 큰 볼륨에 대해서도 최근의 SIMD 또는 MIMD 머신상에서는 초당 30~60프레임의 렌더링이 가능할 것으로 기대된다.

  • PDF

교육요구분석을 통한 계산과학분야의 고성능컴퓨팅 지식요소에 관한 연구 (A Study on the Knowledge Elements of HPC in Computational Science through Analysis of Educational Needs)

  • 윤희준;안성진
    • 정보교육학회논문지
    • /
    • 제22권5호
    • /
    • pp.545-556
    • /
    • 2018
  • 본 연구는 계산과학분야의 고성능컴퓨팅 교육을 위한 지식요소들을 제안하고자 한다. 이를 위해 고성능컴퓨팅 전문가들을 대상으로 1차 설문을 통해 내용타당도와 신뢰도를 조사하여 20개의 후보지식요소들을 도출하였다. 고성능컴퓨팅 사용자들을 대상으로 2차 설문을 통해 후보지식요소들에 대해 t-test, Borich 요구도, The Locus for Focus모델을 적용하여 고성능컴퓨팅 교육을 위한 10개의 지식요소들을 도출하였다. 그 결과 고성능컴퓨팅 교육을 위한 '기본 병렬성', '병렬성', '병렬통신 및 조정', '병렬분할', '병렬 알고리즘 분석 및 프로그래밍', '모델링 및 시뮬레이션 소개' 6개의 1순위 지식요소들과 '기본 프로그래밍 개념', '기본 자료구조', '메모리 관리', '알고리즘 및 설계' 4개의 2순위 지식요소들을 도출하였다.

OpenGL과 Unity간의 GPU를 이용한 Particle Simulation의 성능 비교 (Performance Comparison of Particle Simulation Using GPU Between OpenGL and Unity)

  • 김민상;성낙준;최유주;홍민
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제6권10호
    • /
    • pp.479-486
    • /
    • 2017
  • 최근 GPGPU를 이용하여 저하된 컴퓨터 성능 향상폭을 높일 수 있게 되었고, 이로 인하여 높은 연산을 요구로 하는 물리 기반의 실시간 시뮬레이션을 PC에서 구동할 수 있게 되었다. 물리 시뮬레이션에서 적용되는 물리 계산은 병렬 처리로 수행되어질 수 있으며, 최근 OpenGL 4.3 및 Unity4.0에서 지원되는 Compute shader를 통한 병렬 연산을 이용하면 효율적으로 구동할 수 있다. 본 논문에서는 다양한 플랫폼을 지원하는 디지털 콘텐츠 제작 툴인 Unity와 다양한 플랫폼에서 구동되어지는 OpenGL에서의 실시간 물리 시뮬레이션에서의 성능을 측정 및 비교한다. 본 논문에서 particle 시뮬레이션의 실험 결과 Unity를 이용한 particle 시뮬레이션이 OpenGL을 이용한 particle 시뮬레이션에 비해 최대 136.04% 빠른 성능을 보인다. 이를 통하여 추후 멀티 플랫폼을 지원하는 디지털 콘텐츠를 제작함에 있어 더 나은 개발 도구를 선정할 수 있을 것으로 기대된다.

분산 메모리 시스템에서 압력방정식의 해법을 위한 MPI와 Hybrid 병렬 기법의 비교 (Comparison of Message Passing Interface and Hybrid Programming Models to Solve Pressure Equation in Distributed Memory System)

  • 전병진;최형권
    • 대한기계학회논문집B
    • /
    • 제39권2호
    • /
    • pp.191-197
    • /
    • 2015
  • 본 연구에서는 분산 메모리시스템에서의 압력 방정식의 병렬해법을 위하여 MPI(Message Passing Interface)와 하이브리드 병렬기법을 사용하였다. 두 모델은 영역분할 기법을 활용하며, 하이브리드 기법은 성능이 양호한 두 가지 영역분할에 대해 수행하였다. 두 병렬기법의 성능을 비교하기 위해서 다양한 문제 크기에 대해 최대 96개의 쓰레드를 사용하여 속도향상을 측정하였다. 병렬 성능은 캐쉬 메모리에 따른 문제의 크기 및 MPI 통신, OpenMP 지시어의 부하에 대해 영향을 받음을 확인하였다. 문제의 크기가 작은 경우에는 쓰레드가 증가할수록 MPI 통신 및 OpenMP 지시어 부하에 대한 비율이 상대적으로 크기 때문에 병렬 성능이 좋지 않으며, MPI 통신 부하보다는 OpenMP 지시어 부하가 상대적으로 크므로 MPI 병렬 기법의 병렬 성능이 더 우수하다. 문제의 크기가 큰 경우에는 캐쉬 메모리의 활용도가 높고 MPI 통신 및 OpenMP 지시어 부하에 대한 비율이 낮아 병렬 성능이 좋으며, OpenMP 지시어보다 MPI 통신에 의한 부하가 더 지배적이어서 하이브리드 병렬 성능이 MPI 병렬 성능보다 더 양호하다.

병렬 GPU를 이용한 분자 도킹 시스템 (Molecular Docking System using Parallel GPU)

  • 박성준
    • 한국콘텐츠학회논문지
    • /
    • 제8권12호
    • /
    • pp.441-448
    • /
    • 2008
  • 분자 도킹 실험은 일반적으로 계산 량이 매우 많아 슈퍼 컴퓨팅 파워를 요구하는 실험이다. 따라서 시간이 많이 소요되기 때문에 일반적으로 CPU가 탑재된 컴퓨터를 여러 대 묶어서 사용하는 분산 환경 혹은 그리드 환경에서 실험을 수행하고 있다. 이와 같은 실험 환경은 시간적, 공간적 제약성이 많아 일반적으로 과학자들이 접근하기가 어렵다. 그래서 근래에는 많은 CPU를 사용하기 보다는 월등히 성능이 높은 GPU를 병렬 화하여 과학 분야에 계산하는 연구가 매우 활발히 이루어지고 있는 추세이다. CUDA는 병렬 GPU 프로그래밍을 가능하게 하는 공개 기술이다. 본 논문에서는 이러한 CUDA 기술을 사용하여 분자 도킹 실험을 할 수 있는 시스템을 제안한다. 또한, 분자 도킹 실험에 있어서 중요한 에너지 최소화 계산을 병렬 화하는 알고리즘을 제안한다. 이와 같은 실험을 검증하기 위해 본 논문에서는 일반적인 CPU에서 분자 도킹 실험 시간과 본 논문에서 제안한 병렬 CPU 기반의 분자 도킹 시간을 비교 분석 하였다.

A topology optimization method of multiple load cases and constraints based on element independent nodal density

  • Yi, Jijun;Rong, Jianhua;Zeng, Tao;Huang, X.
    • Structural Engineering and Mechanics
    • /
    • 제45권6호
    • /
    • pp.759-777
    • /
    • 2013
  • In this paper, a topology optimization method based on the element independent nodal density (EIND) is developed for continuum solids with multiple load cases and multiple constraints. The optimization problem is formulated ad minimizing the volume subject to displacement constraints. Nodal densities of the finite element mesh are used a the design variable. The nodal densities are interpolated into any point in the design domain by the Shepard interpolation scheme and the Heaviside function. Without using additional constraints (such ad the filtering technique), mesh-independent, checkerboard-free, distinct optimal topology can be obtained. Adopting the rational approximation for material properties (RAMP), the topology optimization procedure is implemented using a solid isotropic material with penalization (SIMP) method and a dual programming optimization algorithm. The computational efficiency is greatly improved by multithread parallel computing with OpenMP to run parallel programs for the shared-memory model of parallel computation. Finally, several examples are presented to demonstrate the effectiveness of the developed techniques.

New execution model for CAPE using multiple threads on multicore clusters

  • Do, Xuan Huyen;Ha, Viet Hai;Tran, Van Long;Renault, Eric
    • ETRI Journal
    • /
    • 제43권5호
    • /
    • pp.825-834
    • /
    • 2021
  • Based on its simplicity and user-friendly characteristics, OpenMP has become the standard model for programming on shared-memory architectures. Checkpointing-aided parallel execution (CAPE) is an approach that utilizes the discontinuous incremental checkpointing technique (DICKPT) to translate and execute OpenMP programs on distributed-memory architectures automatically. Currently, CAPE implements the OpenMP execution model by utilizing the DICKPT to distribute parallel jobs and their data to slave machines, and then collects the results after executing these distributed jobs. Although this model has been proven to be effective in terms of performance and compatibility with OpenMP on distributed-memory systems, it cannot fully exploit the capabilities of multicore processors. This paper presents a novel execution model for CAPE that utilizes two levels of parallelism. In the proposed model, we add another level of parallelism in the form of multithreaded processes on slave machines with the goal of better exploiting their multicore CPUs. Initial experimental results presented near the end of this paper demonstrate that this model provides significantly enhanced CAPE performance.