• 제목/요약/키워드: 병렬 컴파일러

검색결과 72건 처리시간 0.03초

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

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

  • PDF

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

  • 송월봉
    • 한국컴퓨터산업학회논문지
    • /
    • 제7권3호
    • /
    • pp.185-190
    • /
    • 2006
  • 본 논문에서는 Parafrase II를 이용한 간단한 병렬화 컴파일러를 제안한다. 이것은 중첩루프에서 효율적인 병렬처리를 하기위하여 병렬성을 추출하는 새로운 기법이다. 이를 위해서 Parafrase II 병렬화 컴파일러의 원시 프로그램을 분석하였으며 Parafrase II를 이용한 새로운 병렬 컴파일러를 구현하였다. 아울러 본 컴파일러는 불변 및 가변 종속 관계를 갖는 모든 형식에 적용이 가능하다.

  • PDF

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

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

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

  • 김진미;민옥기;우영춘;변석우
    • 전자통신동향분석
    • /
    • 제12권5호통권47호
    • /
    • pp.73-83
    • /
    • 1997
  • 최적화 컴파일러 및 병렬 컴파일러는 종속성 분석을 통하여 프로그램의 문장 사이, 동작들 간에 가해지는 실행 순서 상의 제약 조건을 추출한다. 이러한 제약 조건은 계산의 의미를 보존하기 위한 필요 조건들이며, 컴파일러의 성능을 향상시키기 위한 프로그램의 변환은 이 제약 조건을 만족하는 범위에서 수행되어야 한다. 본 고에서는 컴파일러에서 최적화 및 병렬화할 프로그램의 부분과 적용될 변형 기법 등을 결정하기 위해 필요한 종속성 분석에 대한 내용을 다룬다.

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

  • 최성욱;김경훈;박명순
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제5권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)

  • 김지홍;엄영익
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 춘계학술발표대회
    • /
    • pp.169-170
    • /
    • 2013
  • 멀티코어 환경이 보편화됨에 따라 병렬프로그래밍 기법과 이에 대한 컴파일 기술의 중요성이 더해지고 있다. 하지만 각 병렬 프로그래밍 기법과 컴퓨팅 환경에 따라 컴파일 기술이 개발되어야 하는 단점이 있다. 따라서 본 논문에서는 다양한 병렬 프로그래밍 기법과 컴퓨팅 환경을 지원할 수 있는 범용 컴파일러의 개발을 위해 병렬프로그래밍 기법과 컴파일러에 따른 병렬 프로그램의 컴파일 성능을 비교하고, 높은 수행 성능을 가진 범용 병렬 프로그램 컴파일러의 설계 방안을 모색한다.

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

  • 송월봉
    • 한국컴퓨터산업학회논문지
    • /
    • 제3권8호
    • /
    • pp.981-988
    • /
    • 2002
  • 본 논문에서는 순차루프를 이용한 간단한 병렬화 컴파일러를 제안한다. 이것은 컴파일 시간에 중첩 병렬 DOALL루프로 바꾸어주는 순차루프의 자동 변환에 관한 절차이다. 이를 위해서, Parafrase II 병렬화 컴파일러의 원시 프로그램을 분석하였으며 중첩루프에서 효율적인 병렬처리를 위한 새로운 병렬성 추출 방법을 구현하였다.

  • PDF

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

  • 이재목;문수묵
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (1)
    • /
    • 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

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

  • 권오진
    • 정보관리연구
    • /
    • 제29권3호
    • /
    • pp.1-26
    • /
    • 1998
  • 순차 Java 프로그램을 병렬 머쉰에서 실행할 경우 루프는 전체 수행 시간 중 많은 부분을 차지하므로 병렬성 검출의 기본이 된다. 본 논문은 기존에 작성된 단일 루프 구조를 갖는 Java 프로그래밍 언어에서 종속성 분석을 수행하여 묵시적 병렬성을 검출하는 방법을 제안한다. 또한 재구성 컴파일러에 의하여 병렬 코드를 생성하는 방법과 Java 원시 프로그램을 Java 프로그래밍 언어 자체에서 지원하는 다중스레드 기법으로 변환하는 방법을 제안한다. 스레드 문장으로 변환된 프로그램에 대해 루프의 반복계수와 쓰레드 수를 매개변수로 하여 성능 분석을 하였다. 재구성 컴파일러에 의한 장점은 사용자의 병렬성 검출에 대한 오버헤드를 줄이고, 순차 Java 프로그램에 대한 효과적인 병렬성 검출을 가능하게 한다.

  • PDF

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

  • 권대석;김흥환;한상영
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제27권8호
    • /
    • pp.710-718
    • /
    • 2000
  • 고전적 시스템의 성능 향상을 위해 많은 병렬 처리 시스템들이 제안되어 왔다. 그러나 이들 시스템들은 흔히 통신과 동기화 부담을 과소 평가함으로써 기대한 만큼의 성능을 보이지 못하였다. 본 논문에서는 그러한 결과를 초래하는 이유를 설명하고, 병렬화 컴파일러가 만족시켜야 하는 성능상의 요구조건을 제시한다. 병렬화 결정은 성능 저하를 피하기 위해 반드시 통신과 동기화 부담(overhead)에 대한 분석에 기초하여 이루어져야 한다. 본 연구진은 이러한 발상을 자동적 병렬화 컴파일러 SUIF에 적용하여 SUIF의 후위를 MPI 함수를 이용하는 새로운 후위로 교체하고, 여기에 병렬화 결정의 타당성을 부담 정보에 기초하여 평가하는 능력을 부여하였다. 새로운 컴파일러 후위는 병렬화 가능한 부분이 명시된 SUIF 중간 코드를, 성능 저하를 초래하지 않으면서 MPI 함수 호출을 포함하는 분산 메모리 구조 병렬 프로그램으로 변환한다.

  • PDF