• Title/Summary/Keyword: 병렬 컴파일러

Search Result 72, Processing Time 0.031 seconds

A Study on Parallel Compiler Using PARAFRASE II Analysis (PARAFRASE I I 분석을 통한 병렬 컴파일러에 관한 연구)

  • 이상헌;박두순
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 1998.04a
    • /
    • pp.349-354
    • /
    • 1998
  • 정보화 시대를 맞이해서 다량의 자료와 다양한 형태의 자료를 빠르게 처리함이 요구됨에 따라서 좀더 성능이 좋은 컴퓨터를 요구하였으며, 이러한 요구사항에 충족하기 위하여 병렬 컴퓨터가 등장하였다. 그러나, 병렬 컴퓨터에서 수행되는 병렬 프로그램을 사용자가 작성하기란 용이한 작업이 아니다. 사용자에게 편의를 제공하고, 기존의 프로그램들을 병렬 컴퓨터에서 직접 수행시키기 위하여 병렬 컴파일러가 등장하였다. 이러한 병렬 컴파일러를 만드는데는 상당한 시간과 노력이 요구된다. 본 논문에서는 PARAFRASE-2 병렬 컴파일러의 분석을 통하여 병렬 컴파일어의 구조를 살펴보고 간단한 병렬 컴파일러를 설계, 구현한다.

  • PDF

A Design of Parallel Compiler Using the Parafrase II (Parafrase II를 이용한 병렬 컴파일러 설계)

  • Song Worl-Bong
    • Journal of the Korea Computer Industry Society
    • /
    • v.7 no.3
    • /
    • pp.185-190
    • /
    • 2006
  • In this paper, a simple parallel compiler using of Parafrase II is presented. This is a new general method the extracting parallelism in order to parallel processing effectively in nested loop. For this, the source program of Parafrase II parallel compiler is analyzed and implemented. Moreover, this method can be applicable where the dependency relation is both uniform and non-uniform in distance.

  • 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 프로그램을 출력하는 병렬화 번역기에 대한 연구 내용을 기술하였다.

Data Dependence Analysis for Parallelization (병렬화를 위한 자료 종속성 분석 기법)

  • Kim, Jin-Mi;Min, Ok-Gi;U, Yeong-Chun;Byeon, Seok-U
    • Electronics and Telecommunications Trends
    • /
    • v.12 no.5 s.47
    • /
    • pp.73-83
    • /
    • 1997
  • 최적화 컴파일러 및 병렬 컴파일러는 종속성 분석을 통하여 프로그램의 문장 사이, 동작들 간에 가해지는 실행 순서 상의 제약 조건을 추출한다. 이러한 제약 조건은 계산의 의미를 보존하기 위한 필요 조건들이며, 컴파일러의 성능을 향상시키기 위한 프로그램의 변환은 이 제약 조건을 만족하는 범위에서 수행되어야 한다. 본 고에서는 컴파일러에서 최적화 및 병렬화할 프로그램의 부분과 적용될 변형 기법 등을 결정하기 위해 필요한 종속성 분석에 대한 내용을 다룬다.

Implementation of a Compiler for VLIW rchitecture (VLIW 구조를 위한 컴파일러의 구현)

  • Choe, Seong-Uk;Kim, Gyeong-Hun;Park, Myeong-Sun
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.5 no.1
    • /
    • pp.109-121
    • /
    • 1999
  • VLIW(Very Long Instruction Word)기술을 이용한 프로세서는 최근에 다른 어떠한 형태의 프로세서보다 좋은 성능을 보일 것으로 기대되고 있다. 컴파일러가 전역적인 분석을 진행하여 명령어 수준의 병렬성을 , VLIW 구조를 위한 많은 컴파일 기술이 연구되어왔다. 컴파일 기술의 연구에 대해 보다 신뢰성 있는 결과를 얻기 위해서는 자신의 새로운 기술이 첨가될 수 있는 기본 토대로서 VLIW 컴파일러 및 실험환경을 구축하는 것이 필요하다. 본 논문에서는 VLIW 프로세서를 위해 GURPR을 기반으로 한 소프트웨어 파이프라이닝등 기존의 병렬성 증진 최적화 기법등을 포함한 병렬화 컴파일러를 개발하였고, 시뮬레이터 환경에서 테스트하였다. 실험 결과, 몇몇 벤치마크는 최대 30% 까지 실행시간이 시간이 단축될 수 있음을 보였다. 본 컴파일러 시스템은 컴파일링 기술에 대한 연구에 있어 기존 모듈을 개선하는 등에 대해 많은 도움을 줄 것이며 향후 새로운 연구결과와 구현이 본 컴파일러 환경에 추가되어 성능 향상 정도를 실험할 수 있을 것으로 기대하고 있다.

A Performance Analysis of Parallel Program Compilation on Multi-core Systems (멀티코어 시스템에서 병렬 프로그램 컴파일 성능 분석)

  • Kim, Jeehong;Eom, Young Ik
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2013.05a
    • /
    • pp.169-170
    • /
    • 2013
  • 멀티코어 환경이 보편화됨에 따라 병렬프로그래밍 기법과 이에 대한 컴파일 기술의 중요성이 더해지고 있다. 하지만 각 병렬 프로그래밍 기법과 컴퓨팅 환경에 따라 컴파일 기술이 개발되어야 하는 단점이 있다. 따라서 본 논문에서는 다양한 병렬 프로그래밍 기법과 컴퓨팅 환경을 지원할 수 있는 범용 컴파일러의 개발을 위해 병렬프로그래밍 기법과 컴파일러에 따른 병렬 프로그램의 컴파일 성능을 비교하고, 높은 수행 성능을 가진 범용 병렬 프로그램 컴파일러의 설계 방안을 모색한다.

(A Design and Implementation of Parallelizing Compiler in Loop Structure) (루프구조의 병렬화 컴파일러 설계 및 구현)

  • 송월봉
    • Journal of the Korea Computer Industry Society
    • /
    • v.3 no.8
    • /
    • pp.981-988
    • /
    • 2002
  • In this paper, a simple parallel compiler of a sequential loop is presented. This is a procedure for the automatic conversion of a sequential loop into a nested parallel DOALL loops at compile time. For this. the source program of Parafrase II parallel compiler is analyzed and a new general method the extracting parallelism in order to parallel processing effectively in nested loop is implemented.

  • PDF

Enhanced Pipeline Scheduling for IA-64 (IA-64를 위한 향상된 소프트웨어 파이프라인 명령어 스케줄링)

  • Lee Jae-Mok;Moon Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11a
    • /
    • pp.826-828
    • /
    • 2005
  • 인텔의 IA-64 프로세서는 명령어 수준의 병렬수행을 지원하는 EPIC (Explicitly Parallel Instruction Computing) 구조를 채택하고 있으며 컴파일러가 순차적 코드에서 병렬 수행이 가능한 독립적인 명령어들을 스케줄링 하도록 되어있다. 본 논문에서는 IA-64 스케줄링을 위해 향상된 파이프라인 스케줄링 (Enhanced Pipeline Scheduling, EPS) 기법[1]을 적용한 결과를 소개한다. EPS는 루프수준의 병렬화를 위한 소프트웨어 파이프라이닝 (software pipelining)기법으로 전역 스케줄링 (global Scheduling) 기법을 기반으로 하고 있다. 우리는 IA-64 프로세서를 위한 공개소스 컴파일러인 ORC (Open Research Compiler)에 EPS를 구현하고 실제 프로세서인 Itanium에서 실험을 수행하였다. 상용 프로세서와 컴파일러에 구현과 튜닝을 하는 과정에서 얻은 경험을 소개하고 기존의 ORC 컴파일러와 비교하여 얻은 성능 향상을 보고하고 분석한다.

  • PDF

Exploiting Implicit Parallelism for Single Loops in Java Programming Language (JAVA 프로그래밍 언어에서 단일루프구조의 무시적 병렬성 검출)

  • Kwon, Oh-Jin
    • Journal of Information Management
    • /
    • v.29 no.3
    • /
    • pp.1-26
    • /
    • 1998
  • The loop is a fundamental for the parallelism exploiting as it has a large portion of execution time for sequential Java program on the parallel machine. This paper proposes the method of exploiting the implicit parallelism through the analysis of data dependence in the existing Java programming language having a single loop structure. The parallel code generation method through the restructuring compiler and the translation method of Java source program into multithread statement, which is supported in the level of the Java programming language, are also proposed here. The performance test of the program translated into the thread statement is conducted using the trip count of loop and the thread count as parameters. The restructuring compiler makes it possible for users to reduce overhead and exploit parallelism efficiently in the Java programming.

  • PDF

Backend of a Parallelizing Compiler for an Heterogeneous Parallel System (이기종 병렬 시스템을 위한 자동적 병렬화 컴파일러 후위)

  • Kwon, Dae-Suk;Kim, Hsung-Hwan;Han, Sang-Yong
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.27 no.8
    • /
    • pp.710-718
    • /
    • 2000
  • Many multiprocessing systems have been developed to exploit the parallelism and to improve the performance. However, the naive multiprocessing schemes were not successful as many researchers thought, due to the heavy cost of communication and synchronization resulting from parallelization. In this paper, we will identify the reasons for the poor performance and the compiler requirements for the performance improvement. We realized that the decisions for multiprocessing should be derived by the overhead information. We applied this idea to the automatic parallelizing compiler, SUIF. We substituted the original backend of SUIF with our backend using MPI, and gave it the capability to validate parallelization decisions based on overhead parameters. This backend converts the intermediate code containing spacification of parallelizable regions into the distributed-memory based parallel program with MPI function calls without excessive parallelization that may cause performance degradation.

  • PDF