• Title/Summary/Keyword: 코드 병렬화

Search Result 96, Processing Time 0.023 seconds

Design and Implementation of Parallelized Linked List Class Library using Pthread Library (Pthread 라이브러리를 이용한 Linked List 병렬화 클래스 라이브러리의 설계 및 구현)

  • 김홍숙;한동수
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10c
    • /
    • pp.780-782
    • /
    • 1999
  • 병렬 프로세서 시스템이 제고하는 하드웨어적인 장점을 이용하기 위해서는 병렬 프로그래밍을 통한 애플리케이션의 병렬화가 필요하다. 기존의 순차적 코드의 경우에 자동 병렬화 컴파일러 기법을 통하여 병렬 프로세서시스템이 제공하는 성능을 극대화하고 있다. 그러나 자동병렬화는 과학 기술 계산용 코드와 같은 정형성을 지닌 코드에서는 유용하지만 비즈니스 응용에서 사용되는 동적인 자료구조를 사용하는 코드에서는 포인터에 의한 별명과 이에 따른 의존성 분석에 어려움으로 인해 많이 응용되고 있지는 못하다. 본 논문은 병렬 프로세서 시스템이 제공하는 기능을 이용하기 위한 한 방법으로 비즈니스 응용에서 많이 사용되는 동적인 자료 구조 중 linked list 클래스 라이브러리의 설계와 구현에 대하여 기술한다.

  • PDF

Parallel Stratified and Rotating Turbulence Simulation based on MPI (MPI 기반의 병렬 성층${\cdot}$회전 난류 시뮬레이션)

  • Kim, Byung-Uck;Yang, Sung-Bong
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.1
    • /
    • pp.57-64
    • /
    • 2000
  • We describe a parallel implementation for the large-eddy simulation(LES) of stratified and rotating turbulence based on MPI. The parallelization strategy is specified by eliminating the tridiagonal solver with explicit method and by domain decompositions for solving the poisson equation. In this simulation we have run on CRAY-T3E under the message passing platform MPI with a various domain decomposition and the scalability of this parallel code of LES are also presented. The result shows that we can gain up to 16 times faster speed up on 64 processors with xyz-directional domain decomposition and scalable up to $128{\times}128{\times}$ which processing time is almost similar to that of $40{\times}40{\times}40$ on a single processor machine with a sequential code.

  • PDF

Improvement of Program Parallelism by Using Loop Transformation (루프 변환에 의한 프로그램 병렬성 개선 방안)

  • Kim, J.M.;Chi, D.H.;Yoon, S.H.
    • Electronics and Telecommunications Trends
    • /
    • v.14 no.2 s.56
    • /
    • pp.1-13
    • /
    • 1999
  • 본 연구는 병렬성 및 지역성 증진을 위한 컴파일러 최적화에 관한 연구로서, 순차 언어로 작성된 프로그램을 병렬성을 명시하는 프로그램으로 변환하는 자동 병렬화 기술을 연구하고, 병렬화를 위한 코드 변환을 수행한 후 쓰레드를 이용한 최적화된 코드 생성을 통하여 프로그램의 효율성을 높이는 것을 목적으로 한다. 이는 병렬 컴퓨터에서의 프로그램 개발 생산성을 높일 수 있고, 컴파일러의 관련 기술 발전에 도움을 줄 수 있다. 본 고에서는 순차 언어인 FORTRAN 및 C 프로그램을 입력으로 받아 병렬성 및 지역성 분석을 수행하고, 분석을 통해 기본 컴파일러로 선정한 SUIF 컴파일러에서 사용되는 루프 변환을 포함하여 루프 분산 및 병합의 프로그램 변환을 수행한 후, 쓰레드 실행시간 라이브러리로 병렬성을 명시한 C 프로그램을 출력하는 병렬화 번역기에 대한 연구 내용을 기술하였다.

A Code-level Parallelization Methodology to Enhance Interactivity of Smartphone Entertainment Applications (스마트폰 엔터테인먼트 애플리케이션의 상호작용성 개선을 위한 코드 수준 병렬화 방법론)

  • Kim, Byung-Cheol
    • Journal of Digital Convergence
    • /
    • v.13 no.12
    • /
    • pp.381-390
    • /
    • 2015
  • One of the fundamental requirements of entertainment applications is interactivity with users. The mobile device such as the smartphone, however, does not guarantee it due to the limit of the application processor's computing power, memory size and available electric power of the battery. This paper proposes a methodology to boost responsiveness of interactive applications by taking advantage of the parallel architecture of mobile devices which, for instance, have dual-core, quad-core or octa-core. To harness the multi-core architecture, it exploits the POSIX thread, a platform-independent thread library to be able to be used in various mobile platforms such as Android, iOS, etc. As a useful application example of the methodology, a heavy matrix calculation function was transformed to a parallelized version which showed around 2.5 ~ 3 times faster than the original version in a real-world usage environment.

The extraction parallelism in loops with procedure call (프로시저 호출을 가진 루프에서 병렬성 추출)

  • Chang, Yu-Sug;Park, Doo-Soon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2001.04a
    • /
    • pp.235-238
    • /
    • 2001
  • 프로그램 수행시간의 대부분이 루프 구조에서 소비되고 있기 때문에 순차 프로그램을 병렬 프로그램으로 변환하는 연구들이 많이 행해지고 있고 그 연구들은 하나의 프로시저 내 루프 구조의 변환에 치중되고 있다. 그러나 대부분의 프로그램들은 프로시저 간 잠재된 병렬성을 가지고 있다. 본 논문에서는 프로시저 호출을 가진 루프에서 병렬성 추출 방식을 제안한다. 프로시저 호출을 포함하는 루프의 병렬화는 대부분 uniform 형태의 코드에서만 집중되었다. 본 논문에서는 uniform 코드, nonuniform코드 그리고 복합된(complex) 코드를 제안된 알고리즘과 loop extraction, loop embedding방법을 CRAY-T3E로 성능 평가하였다. 그리고 제안된 알고리즘이 효율적인 방법이라는 것을 보여준다.

  • PDF

MPI-OpenMP Hybrid Parallelization for Multibody Peridynamic Simulations (다물체 페리다이나믹 해석을 위한 MPI-OpenMP 혼합 병렬화)

  • Lee, Seungwoo;Ha, Youn Doh
    • Journal of the Computational Structural Engineering Institute of Korea
    • /
    • v.33 no.3
    • /
    • pp.171-178
    • /
    • 2020
  • In this study, we develop MPI-OpenMP hybrid parallelization for multibody peridynamic simulations. Peridynamics is suitable for analyzing complicated dynamic fractures and various discontinuities. However, compared with a conventional finite element method, nonlocal interactions in peridynamics cost more time and memory. In multibody peridynamic analysis, the costs increase due to the additional interactions that occur when computing the nonlocal contact and ghost interlayer models between adjacent bodies. The costs become excessive when further refinement and smaller time steps are required in cases of high-velocity impact fracturing or similar instances. Thus, high computational efficiency and performance can be achieved by parallelization and optimization of multibody peridynamic simulations. The analytical code is developed using an Intel Fortran MPI compiler and OpenMP in NURION of the KISTI HPC center and parallelized through MPI-OpenMP hybrid parallelization. Further parallelization is conducted by hybridizing with OpenMP threads in each MPI process. We also try to minimize communication operations by model-based decomposition of MPI processes. The numerical results for the impact fracturing of multiple bodies show that the computing performance improves significantly with MPI-OpenMP hybrid parallelization.

An Improved Data Dependency Elimination Algorithm (개선된 자료 종속성 제거 알고리즘)

  • 장유숙;박두순;이원규;유헌창
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2001.11a
    • /
    • pp.833-838
    • /
    • 2001
  • 프로그램 수행시간의 대부분이 루프 구조에서 소비되고 있기 때문에 루프 구조를 가진 순차프로그램에서 병렬성을 추출하는 연구들이 많이 행해지고 있고 그 연구들은 하나의 프로시저 내 루프 구조의 변환에 치중되고 있다. 그러나 대부분의 프로그램들은 프로시저 간 잠재된 병렬성을 가지고 있다. 본 논문에서는 프로시저 호출을 가진 루프에서 병렬성 추출방식을 제안한다. 프로시저 호출을 포함하는 루프의 병렬화는 대부분 자료종속거리가 uniform 형태의 코드에서만 집중되었다. 본 논문에서는 자료종속거리가 uniform 코드, nonuniform 코드 그리고 복합된 코드를 가진 프로그램에서 적용 가능한 알고리즘을 제시하였으며, 제안된 알고리즘과 loop extraction, loop embedding 그리고 procedure cloning 변환 방법을 CRAY-T3E로 성능 평가하였다. 성능평가 결과는 제안된 알고리즘이 효율적이라는 것을 보여준다.

  • PDF

HDL Codes Generator for Cyclic Redundancy Check Codes (순환중복검사 부호용 하드웨어 HDL 코드 생성기)

  • Kim, Hyeon-kyu;Yoo, Ho-young
    • Journal of IKEEE
    • /
    • v.22 no.4
    • /
    • pp.896-900
    • /
    • 2018
  • Traditionally, Linear Shift Feedback Register (LFSR) has been widely employed to implement Cyclic Redundant Check (CRC) codes for a serial input. Since many applications including network and storage systems demand as high throughput as ever, various efforts have been made to implement CRC hardware to support parallel inputs. Among various parallel schemes, the look-ahead scheme is one of the most widely used schemes due to its short critical path. However, it is very cumbersome to design HDL codes for parallel CRC codes since the look-ahead scheme is inevitable to consider how register and input values move in the next cycles. Thus, this paper proposes a novel CRC hardware generator, which automatically produces HDL codes given a CRC polynomial and parallel factor. The experimental results verify the applicability to use the proposed generator by analyzing the synthesis results from the generated HDL code.

Automatic Optimization Methods for Image Processing Programs Using OpenCL (OpenCL을 이용한 이미지 처리 프로그램의 자동 최적화 방법)

  • Shin, Jaeho;Jo, Gangwon;Lee, Ilkoo;Lee, Jaejin
    • KIISE Transactions on Computing Practices
    • /
    • v.23 no.3
    • /
    • pp.188-193
    • /
    • 2017
  • In this paper, we propose automatic OpenCL optimization techniques that offer the best performance for image processing programs on any hardware system. Developers should seek a proper way of parallelization and an appropriate work-group size for the architecture of target compute devices to achieve the best performance. However, testing potential devices to find them is both time-consuming and costly. Our techniques automatically set up hardware-optimized parallelization and find a suitable work-group size for the target device. Furthermore, using OpenCL does not always provide better performance in image processing. Hence, we also propose a way to automatically search for a threshold image size to allow image processing programs to decide whether or not to use OpenCL. Our findings demonstrate that out techniques improve the image processing performance significantly.

Parallel lProcessing of Pre-conditioned Navier-Stokes Code on the Myrinet and Fast-Ethernet PC Cluster (Myrinet과 Fast-Ethernet PC Cluster에서 예조건화 Navier-Stokes코드의 병렬처리)

  • Lee, G.S.;Kim, M.H.;Choi, J.Y.;Kim, K.S.;Kim, S.L.;Jeung, I.S.
    • Journal of the Korean Society for Aeronautical & Space Sciences
    • /
    • v.30 no.6
    • /
    • pp.21-30
    • /
    • 2002
  • A preconditioned Navier-Stokes code was parallelized by the domain decomposition technique, and the accuracy of the parallelized code was verified through a comparison with the result of a sequential code and experimental data. Parallel performance of the code was examined on a Myrinet based PC-cluster and a Fast-Ethernet system. Speed-up ratio was examined as a major performance parameter depending on the number of processor and the network communication topology. In this test, Myrinet system shows a superior parallel performance to the Fast-Ethernet system as was expected. A test for the dependency on problem size also shows that network communication speed in a crucial factor for parallel performance, and the Myrinet based PC-cluster is a plausible candidate for high performance parallel computing system.