• 제목/요약/키워드: compile time

검색결과 87건 처리시간 0.024초

SCAM 기상모델의 성능향상을 위한 PGI Compiler의 OpenACC 활용 (Performance Improvement of SCAM Climate Model using PGI Compiler with OpenACC)

  • 이창현;강보경;정성욱
    • 한국정보전자통신기술학회논문지
    • /
    • 제15권3호
    • /
    • pp.189-197
    • /
    • 2022
  • 고성능 컴퓨팅 기술이 발달하고 수치 모델 방식이 고도화됨에 따라 더욱 우수한 기상예보를 진행할 수 있게 되었다. 본 논문에서는 SCAM 기상 모델에 대하여 컴파일 시간을 제외한 모델 수행시간에 대한 성능 향상을 끌어내는 것이 목적이다. 따라서, 기존의 Intel Fortran Compiler를 이용하여 수행된 모델을 PGI Fortran Compiler로 변경하였다. 이를 위해 시스템 환경 변수 재설정, 컴파일 옵션 조정, 관련 의존성 SW 및 라이브러리 설치 그리고 소스 코드를 수정하였다. 또한, 본 논문에서 제안한 PGI Compile with OpenACC 방법을 제시하고 적용하였다. 그 결과 러닝 시간의 경우 기존 Intel에서 PGI로 컴파일러가 변경되면, 러닝 시간의 경우 6.08%의 성능 향상이 되었으며, OpenACC를 추가로 적용할 경우, 기존 대비 43.05%의 성능 향상을 보여준다. 이는 본 논문에서 제안한 SCAM모델에서 PGI Compile with OpenACC 방법이 우수한 성능을 보여줄 수 있음을 입증한다.

천문대의 항해력 개발 (DEVELOPMENT OF NAUTICAL ALMANAC AT KOREA ASTRONOMY OBSERVATORY)

  • 한인우;신준호
    • 천문학논총
    • /
    • 제9권1호
    • /
    • pp.85-100
    • /
    • 1994
  • In Korea Astronomy Observatory, we developed a S/W package to compile the Korean Nautical Almanac. We describe the motivation to develop the S/W and explain the S/W package in general terms. In appendix, we describe the procedure to calculate the polaris table in more detail. When we developed the S/W, we paid much attention to produce accurate data. We also made great effort to automate the compilation of Nautical Almanac as far as possible, since the compilation is time consuming and labour extensive. As a result, the S/W we developed turns out to be very accurate and efficient to compile Nautical Almanac. In fact, we could compile a Korean Nautical Almanac in a few days.

  • PDF

영상처리 가속을 위한 CGRA compilation 속도 향상 (CGRA Compilation Boost up for Acceleration of Graphics)

  • 김원섭;최윤서;김재현
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2014년도 하계학술대회
    • /
    • pp.166-168
    • /
    • 2014
  • Coarse-grained reconfigurable architectures (CGRAs) present a potential of high compute throughput with energy efficiency. A CGRA consists of an array of functional units (FU), which communicate with each other through an interconnect network containing transmission nodes and register files. To achieve high performance from the software solutions mapped onto CGRAs, modulo scheduling of loops is generally employed. One of the key challenges in modulo scheduling for CGRAs is to explicitly handle routings of operands from a source to a destination operations through various routing resources. Existing modulo schedulers for CGRAs are slow because finding a valid routing is generally a searching problem over a large space, even with the guidance of well-defined cost metrics. Applications in traditional embedded multimedia domains are regarded relatively tolerant to a slow compile time in exchange of a high quality solution. However, many rapidly growing domains of applications, such as 3D graphics, require a fast compilation. Entrances of CGRAs to these domains have been blocked mainly due to its long compile time. We attack this problem by utilizing patternized routes, for which resources and time slots for a success can be estimated in advance when a source operation is placed. By conservatively reserving predefined resources at predefined time slots, future routings originated from the source operation are guaranteed. Experiments on a real-world 3D graphics benchmark suite show that our scheduler improves the compile time up to 6000 times while achieving average 70% throughputs of the state-of-art CGRA modulo scheduler, edge-centric modulo scheduler (EMS).

  • PDF

최대 병렬성 추출을 위한 자료 종속성 제거 알고리즘 (A Data Dependency Elimination Algorithm for Extracting Maximum Parallelism)

  • 송월봉;박두순
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제26권1호
    • /
    • pp.139-139
    • /
    • 1999
  • In most application programs, loops usually comprise most of the computation in a program and the most important source of parallelism. When the data dependency relation is uniformin terms of distance, several compile time parallelization methods were introduced. On the otherhand,when the data dependency relation is non-uniform in distance, the compile time extraction ofparallelism is much complicated. In this paper, a general method the extracting parallelism in nestedloops is presented. This algorithm can be applicable where the dependency relation is both uniform andnon-uniform in distance. According to execution repeatedly the statements in nested loops, thealgorithm which effectively removes these kind of data dependencies is developed in order to presentthe total parallelization of nested loops.

멀티채널 AMR 음성부호화기의 실시간 구현 (Real-time Implementation of Multi-channel AMR Speech Coder)

  • 지덕구;박만호;김형중;윤병식;최송인
    • 한국음향학회지
    • /
    • 제20권8호
    • /
    • pp.19-23
    • /
    • 2001
  • 고속 저전력의 DSP (Programmable Digital Signal Processor)가 개발됨에 따라 이동통신 분야에서 시스템 및 단말기 등이 DSP를 사용하여 구현되고 있다. 본 논문에서는 DSP를 사용한 AMR (Adaptive Multi-rate) 음성부호화기의 멀티 채널 실시간 구현에 관하여 논한다. AMR 음성부호화 알고리즘을 250 MHz로 동작하는 32비트 정수형 DSP 칩인 TMS320C6202를 사용하여 구현하였다. 실시간 동작을 위하여 cross compile, 선형 어셈블리 최적화, TMS320C62xx 어셈블리 최적화 작업을 수행하였다. AMR 음성부호화기에 음성 데이터 입출력 기능 및 외부 CPU와의 통신기능을 포함하였다. DSP EVM 보드를 사용하여 AMR 음성부호화기를 개발하였고, ETRI에서 개발중인 비동기 IMT-2000 시스템 상에서 동작 및 기능을 검증하였다.

  • PDF

Control Flow Checking at Virtual Edges

  • Liu, LiPing;Ci, LinLin;Liu, Wei;Yang, Hui
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제11권1호
    • /
    • pp.396-413
    • /
    • 2017
  • Dynamically checking the integrity of software at run-time is always a hot and difficult spot for trusted computing. Control-flow integrity is a basic and important safety property of software integrity. Many classic and emerging security attacks who introduce illegal control-flow to applications can cause unpredictable behaviors of computer-based systems. In this paper, we present a software-based approach to checking violation of control flow integrity at run-time. This paper proposes a high-performance and low-overhead software control flow checking solution, control flow checking at virtual edges (CFCVE). CFCVE assigns a unique signature to each basic block and then inserts a virtual vertex into each edge at compile time. This together with insertion of signature updating instructions and checking instructions into corresponding vertexes and virtual vertexes. Control flow faults can be detected by comparing the run-time signature with the saved one at compile time. Our experimental results show that CFCVE incurs only 10.61% performance overhead on average for several C benchmark programs and the average undetected error rate is only 9.29%. Compared with previous techniques, CFCVE has the characteristics of both high fault coverage and low memory and performance overhead.

Proposition and Evaluation of Parallelism-Independent Scheduling Algorithms for DAGs of Tasks with Non-Uniform Execution Time

  • Kirilka Nikolova;Atusi Maeda;Sowa, Masa-Hiro
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2000년도 ITC-CSCC -1
    • /
    • pp.289-293
    • /
    • 2000
  • We propose two new algorithms for parallelism-independent scheduling. The machine code generated from the compiler using these algorithms in its scheduling phase is parallelism-independent code, executable in minimum time regardless of the number of the processors in the parallel computer. Our new algorithms have the following phases: finding the minimum number of processors on which the program can be executed in minimal time, scheduling by an heuristic algorithm for this predefined number of processors, and serialization of the parallel schedule according to the earliest start time of the tasks. At run time tasks are taken from the serialized schedule and assigned to the processor which allows the earliest start time of the task. The order of the tasks decided at compile time is not changed at run time regardless of the number of the available processors which means there is no out-of-order issue and execution. The scheduling is done predominantly at compile time and dynamic scheduling is minimized and diminished to allocation of the tasks to the processors. We evaluate the proposed algorithms by comparing them in terms of schedule length to the CP/MISF algorithm. For performance evaluation we use both randomly generated DAGs (directed acyclic graphs) and DACs representing real applications. From practical point of view, the algorithms we propose can be successfully used for scheduling programs for in-order superscalar processors and shared memory multiprocessor systems. Superscalar processors with any number of functional units can execute the parallelism-independent code in minimum time without necessity for dynamic scheduling and out-of-order issue hardware. This means that the use of our algorithms will lead to reducing the complexity of the hardware of the processors and the run-time overhead related to the dynamic scheduling.

  • PDF

다중스레드 모델에서 최단 프레임 우선 스레드 스케줄링 알고리즘 (Shortest-Frame-First Scheduling Algorithm of Threads On Multithreaded Models)

  • 심우호;유원희;양창모
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제27권5호
    • /
    • pp.575-582
    • /
    • 2000
  • 기존 다중스레드 모델에서의 주로 사용되는 선입선출 스케줄링 알고리즘은 실행의 지역성을 고려하지 않았기 때문에 높은 문맥전환 비용과 상대적으로 수행 시간이 짧은 프레임의 지연이 야기되어 일부 환경에서는 실행의 효율성을 떨어뜨리는 요인이 된다. 선입선출 스케줄링 알고리즘의 문제를 개선한 TAM의 퀀텀 단위 스케줄링 방법은 퀀텀 단위의 우선권을 너무 강조하므로 프로그램 실행의 병렬성을 제한시켜 프로세서의 활용도가 저하될 수 있고, 프레임 내에 있는 스레드들 간의 동기화로 인한 지연이 발생될 경우 대기 시간이 길어질 수 있다는 문제점을 가지고 있다. 위의 문제점들을 해결하기 위해 본 논문에서는 컴파일러에 의해 생성된 스레드의 크기와 동기화 정보를 이용하여 상대적으로 가장 짧은 프레임의 실행 시간을 예상하여 이를 우선적으로 처리하는 최단 프레임 우선(shortest-frame-first) 스케줄링 알고리즘을 제안한다. 다중스레드 모델은 실행의 일부분 특히 동기화 처리를 컴파일러에 의존하는 방식을 취함으로써 작업 시간에 대한 정확한 예상과 일관성을 쉽게 이용할 수 있다. 제안한 최단 프레임 우선 스케줄링 알고리즘을 선입선출 스케줄링 알고리즘과 비교한 실험 결과, 실행시간의 평가에서는 평균 15% 정도 실행 시간을 단축시켰고 프로세서 활용도의 평가에서는 5% 정도의 성능 향상을 얻었다. 그리고 대기 시간의 평가에서는 평균 24% 정도의 대기 시간을 줄였다.

  • PDF

SIP 서버를 통한 인터넷폰 구현 (Implementation of Internet Telephone by SIP Server)

  • 김진수;이찬우;양해권
    • 한국정보통신학회논문지
    • /
    • 제7권1호
    • /
    • pp.75-82
    • /
    • 2003
  • 인터넷을 이용한 여러 응용 서비스들 중에서 저렴한 비용으로 음성을 전송할 수 있는 VoIP 서비스의 발전으로 사용자의 급격한 증가가 예상된다. VoIP에 mobility, universal number, multiparty conference, voice mail, automatic call distribution과 같은 고품질의 서비스를 제공하기 위해서는 시그널링이 가능한 표준화된 프로토콜이 필요하다. 현재 IETF의 SIP(Session Initiation Protocol)가 빠른 호 설정과 parsing 및 compile이 쉬운 장점으로 인해 SIP를 기반으로 한 VoIP 서비스를 제공하기 위해 국내외적으로 SIP 기반 구성요소에 대한 개발이 진행 중이다. 본 논문에서는 사용자가 보내는 Request(INVITE) 메소(method)를 처리해주는 SIP 서버의 부하 경감, 망 운용의 효율성, 많은 사용자에 대한 서비스를 제공하기 위해 새로운 서버 유형인 Hybrid형 SIP 서버를 제안하고, 이를 이용하여 새로운 방식의 인터넷폰을 설계 하였다.

줄리아 언어를 이용한 고성능 해양모델의 개발 (Development of a High Performance Ocean Model using Julia Language)

  • 권민선;김종구
    • 한국해양학회지:바다
    • /
    • 제24권2호
    • /
    • pp.187-207
    • /
    • 2019
  • 고성능 해양모델을 개발하기 위하여 적시 컴파일(Just-In-Time) 언어인 줄리아 언어를 사용하였고, 운동량 방정식의 해를 구하기 위해 연속완화법으로 푸아송 방정식을 푸는 코드를 작성하였다. 다음으로, 줄리아 계산 코드를 시험하기 위하여 두 가지의 모델을 구축하였다. 첫 번째로, 일정한 유량의 생성/소멸(source/sink) 조건을 시험하기 위해 단순한 수로 형태를 모델링하였고, 두 번째로, 조석 외력(tidal forcing) 및 전향력(Coriolis force), 난류확산계수로 인한 효과 등을 시험하기 위해 황해(Yellow Sea)를 단순화하여 모델링하였다. 모델은 두 가지 시나리오 안에서 총 8개의 실험안으로 테스트되었다. 테스트 결과, 시나리오 1에서 3가지 실험안의 수심 평균된 유속은 이론 값에 완벽하게 수렴하였고, 해저마찰로 인한 수직적 유속 구배를 잘 보여주었다. 또한 시나리오 2에서는 황해의 무조점과 우리나라 서해 중부와 남부 연안의 조석 특성을 잘 재현하였고, 전향력과 수직 난류확산계수에 따른 결과의 차이를 잘 보여주었다. 따라서, 줄리아 언어를 이용한 해양모델을 개발하는 데에 성공하였다고 판단되며, 이는 해양모델이 고전적인 컴파일 언어에서 적시 컴파일 언어로 성공적으로 넘어가는 단계에 오게 됐다는 것을 시사한다.