• 제목/요약/키워드: 그래픽 프로세서

검색결과 133건 처리시간 0.019초

OpenMP를 이용한 제내지 침수 병렬해석 (Flood Inundation Analysis Using OpenMP Technique)

  • 박재홍
    • 한국수자원학회:학술대회논문집
    • /
    • 한국수자원학회 2016년도 학술발표회
    • /
    • pp.74-74
    • /
    • 2016
  • 복잡한 지형에서 컴퓨터를 이용한 물리적 기반 수치모의는 합리적인 시간내에 연산을 완료하기 위해 대개 큰 연산장비 들을 요구한다. 더욱이 모의되는 현상이 시간단계마다 갱신되어지는 동역학적 현상에 기반된 비정상상태일 때 연산성능은 고려되어지는 가장 중요한 주제가 될 수 있다. 연산 시간을 줄이기 위한 가장 널리 이용되는 전략중의 하나는 적절한 수의 프로세서를 이용하는 병렬 기법이다. 최근 들어 연산속도를 가속화하기 위해 다수의 코어를 이용한 OpenMP 와 MPI 기법들이 병렬해석기법으로 대두되었고 그래픽 연산장치를 이용한 병렬처리 해석기법도 소개되고 있다. 본 연구에서는 중앙연산장치를 이용한 병렬 해석기법을 이용하여 제내지 침수해석의 적용성을 검토하고 그 결과을 비교하였다. 본 연구를 위해 OpenMP 병렬기법을 이용하여 확산파 침수해석 프로그램의 원시코드를 재작성하여 가상 및 실제 유역에 적용하였다. 해석결과는 분산메모리 병렬해석 기법인 MPI를 도입한 모형의 결과와 비교되었다. OpenMP를 도입한 모형과 MPI를 도입한 경우 유량 및 수심의 경우 오차 허용 한계내에 수렴되어 만족되었으나 그러나 연산 속도의 경우 두 기법간의 자료의 저장 방법 차이로 인해 차이를 나타내었다. 가상 유역에 적용된 결과로 검토된 각 기법의 증속(speedup) 효과는 MPI의 경우 4 코어를 이용하였을 때 최고 2.62 배 정도에 도달하는 것으로 나타났다. OpenMP 를 적용한 경우 2.87 배 정도로 나타나 OpenMP 를 이용하였을 때 증속효과가 조금 더 뛰어났다. 이는 두 기법의 메모리 저장방식의 차이로 인해 자료의 전송량과 전송 시간이 적은 OpenMP 를 도입한 모형에서 MPI 모형 보다 상대적으로 뛰어난 결과를 나타내었다. 실제 유역의 적용을 위해 상대적으로 우수한 증속결과를 나타낸 OpenMP를 도입한 모형을 Malpasset 댐 붕괴 유역에 적용하였다. 적용된 요소의 수는 각각 45254, 11352 개로 비교적 많은 요소를 가진 하류지역에 적용하여 병렬효과를 극대화하고자 하였다. 적용결과 두 경우 모두 병렬 해석 기법을 도입한 모형에서 유속과 침수심 등은 순차적 모형과 동일한 값을 나타내었으나 증속효과로 인한 연산시간은 순차적 모형에서 8.57 배로 나타나 병렬 모형의 상대적으로 빠른 연산속도를 판단할 있었다. 위의 적용결과를 통해 계산 요소들이 많은 2 차원 해석의 경우 기존의 단일 코어를 이용한 순차적 해석은 장시간에 걸치 연산시간으로 인해 작업효율이 낮아지는 결과를 발생시킬 수 있으며 병렬 해석을 도입할 경우 주어진 컴퓨터 자원를 효율적으로 이용가능하여 합리적인 연산시간으로 연산결과를 얻는 것이 가능하여 반복적 통계 기법/Ensemble 해석 등을 이용한 종합적 해석이 좀 더 실용적으로 이루어 질 수 있을 것이라고 판단되었다.

  • PDF

C 프로그래밍 언어 학습에 공개 소스 소프트웨어 SDL 활용 사례 연구 (A Case Study on Utilizing Open-Source Software SDL in C Programming Language Learning)

  • 김성득
    • 실천공학교육논문지
    • /
    • 제14권1호
    • /
    • pp.1-10
    • /
    • 2022
  • 전자공학교육에서 C 프로그래밍 언어 학습은 컴퓨터 프로그래밍을 이해하고, 임베디드 시스템에서 마이크로프로세서 활용 능력을 습득하기 위한 중요한 기초 교육 과정이다. 기초적 문법과 알고리즘 이해에 중점을 두기 위해, 콘솔 창에서 C 표준 라이브러리 함수에 기반한 프로그램을 작성하며 이론과 실습을 병행해 학습하는 것이 일반적인 교육방법이다. 그렇지만, C 언어의 기본 지식을 어느 정도 습득한 후 프로젝트 활동을 하거나 더 심화된 단계로 나아가고자 한다면, 콘솔창에서 C 표준 라이브러리 함수만을 사용하는 것은 C 프로그램으로 표현하거나 제어할 수 있는 대상을 한정시키게 된다. 학습자가 그래픽 또는 멀티미디어 리소스를 쉽게 활용해 교육적 가치를 높이기 위한 목적으로, 본 논문에서는 공개 소스 소프트웨어인 Simple DirectMedia Layer (SDL)을 활용하는 방안을 C 프로그래밍 언어 학습 과정에 적용한 사례를 연구한다. 콘솔 창에서 수행하는 기초적 프로그래밍 교육과정을 마친 후에 적용된 SDL활용 프로그래밍 교육 과정을 소개하고, 설문 조사를 통해 교육적 가치를 평가한다. 그 결과, 응답자의 56% 이상이 응용능력개선, 흥미유발, 전반적 유용성 측면에서 긍정적 의견을 표명했으며, 부정적 의견은 4% 이하였다.

산업용 임베디드 시스템 플랫폼 개발 (Development of Industrial Embedded System Platform)

  • 김대남;김교선
    • 전자공학회논문지CI
    • /
    • 제47권5호
    • /
    • pp.50-60
    • /
    • 2010
  • 지난 반세기 동안 컴퓨터 시스템의 발전으로 개인용 컴퓨터와 소프트웨어 산업은 유래 없는 호황을 누렸다. 21세기에 들어서는 이러한 흐름이 모바일 기기로 점차 이동하면서 임베디드 시스템 시장이 폭발적으로 증가하였다. 휴대전화, 내비게이션 시스템, PMP 등의 휴대용 멀티미디어 기기들은 시장에 쏟아져 나온 반면에 대부분의 산업용 제어시스템은 여전히 단순제어 시스템에 의존하여 제품이 개발되고 있다. 실제로 이를 첨단 하드웨어와 소프트웨어의 기술로 전환하려고 해도 그 수요가 모바일 시장에 비해 낮아 부품수급이 어렵고 가격이 상승하는 문제를 안고 있으며 기술개발 시 발생하는 많은 비용과 인력은 기업 입장에서는 투자 부담이 될 수밖에 없다. 그러나 미래 고객들에게 제품에 대한 기업 이미지를 끌어올리기 위해서는 고성능 시스템의 하드웨어와 소프트웨어 플랫폼 개발이 반드시 필요하다. 본 논문에서는 이러한 문제점들을 해결하기 위해서 네트워크 임베디드 시스템의 최적화된 하드웨어 플랫폼과 소프트웨어 플랫폼을 개발하였다. 개발된 플랫폼은 멀티미디어 기능을 추가하여 고급형 제품을 위한 플랫폼으로 제작하였다. 멀티미디어 기능을 구현하기 위해서 텔레칩스 사의 멀티미디어 프로세서인 TCC8300을 기반으로 개발하였으며 프로세서 내부의 다양한 병렬하드웨어 기능을 이용함으로써 회로상의 부품의 수를 최소화 하고 성능 향상과 더불어 전력소모량을 최소화하였다. 그리고 소프트웨어의 기술비용(로열티)을 없애기 위해서 오픈소스 기반의 운영체제인 임베디드 리눅스와 오픈소스 기반의 그래픽 라이브러리인 TinyX와 GTK+를 이용하여 GUI(Graphic User Interface)를 구현하였다. 또한 개발된 플랫폼을 이용하여 여러 가지 방식의 YUV2RGB 프레임 변환 실험 및 측정을 통해서 성능 및 프레임별 변환 시에 소모되는 전력량을 계산하였고 플랫폼의 각 부분별 동작에 대한 전력소모량 측정을 통해서 플랫폼 구성 시 필요한 전력과 성능을 예측할 수 있도록 하였다. 응용제품을 개발할 때 주어진 기능 및 성능 그리고 저전력 등의 사양이 구현 가능한지 분석하고 절충할 때 사용할 수 있는 모델식을 개발하였고 이를 활용하여 직접 제작해 봄으로써 신뢰성을 입증하였다. 이 때, 하드웨어 부품들은 휴대폰 생산 시에 사용되는 부품들을 사용함으로써 저가의 부품을 안정적으로 수급하여 대량생산을 용이하게 하였다.