• 제목/요약/키워드: 블록 프로그래밍

검색결과 148건 처리시간 0.022초

4-러시안 알고리즘의 CUDA 구현 (CUDA Implementation for the Four-Russian Algorithm)

  • 김영호;정주희;강대웅;심정섭;김민호;박수준;임명은;정호열
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 춘계학술발표대회
    • /
    • pp.261-264
    • /
    • 2012
  • 상수 크기의 알파벳 ${\Sigma}$에 대해 길이가 각각 m, n인 두 문자열 X와 Y의 편집거리는 X를 Y로 변환하기 위해 필요한 최소 편집연산의 수로 정의된다. 두 문자열의 편집거리는 잘 알려진 동적프로그래밍을 이용하여 O(mn) 시간과 공간에 계산할 수 있으며, 4-러시안 알고리즘을 이용해도 계산할 수 있다. 4-러시안 알고리즘은 블록 크기를 상수 t라 할 때, 전처리 단계에서 $O\((3{\mid}{\Sigma}{\mid})^{2t}t^2\)$ 시간과 $O\((3{\mid}{\Sigma}{\mid})^{2t}t^2\)$ 공간이 필요하며, 계산 단계에서 O(mn/t) 시간과 O(mn) 공간을 이용하여 편집거리를 계산하는 알고리즘이다. 본 논문에서는 4-러시안 알고리즘의 계산 단계를 CUDA를 이용하여 구현하고 실험을 통해 CPU 기반의 순차적인 수행시간과 GPU 기반의 병렬적인 수행시간의 비교결과를 제시한다. 본 논문의 병렬알고리즘은 m/t개의 쓰레드를 사용하여 O(m+n) 시간에 편집거리를 계산한다. GPU 기반의 알고리즘이 CPU 기반의 알고리즘 보다 t=1일 때 약 10배 빠르고, t=2일 때 약 3배 빠른 결과를 보였다.

MPI를 이용한 2차원 유한체적모형의 계산 성능 개선 (Performance Improvement of Computing Time of 2 Dimensional Finite Volume Model using MPI)

  • 김태형;한건연;김병현
    • 한국수자원학회논문집
    • /
    • 제47권7호
    • /
    • pp.599-614
    • /
    • 2014
  • 본 연구에서는 삼각형 및 사각형 혼합격자의 적용이 가능하도록 기 개발된 2차원 유한체적모형의 계산속도를 개선하기 위해 모형의 병렬화를 수행하였다. 모형의 병렬화를 위해 코어 수의 제약에 자유로운 MPI 기법을 이용하였고, 프로그램 내의 흐름률 및 계산시간간격의 계산영역에 대해 논블록킹 점대점통신을 이용하였다. 병렬화 된 개발모형의 기존모형에 대한 계산결과의 일치성을 검증하고, 계산시간에 대한 성능향상도와 효율성을 검토하기 위해, $90^{\circ}$의 만곡이 존재하는 L자형 실험하도에 대한 댐 붕괴해석과 자연하천인 Malpasset 댐의 붕괴사상에 대해 모형을 적용하였다. 또한 격자수에 따라 4개의 Case로 구분하여 각각 모의함으로써, 입력규모의 크기에 따른 계산시간의 성능향상도를 함께 검토하였다. 분석결과 병렬화 모형에 의한 모의 결과는 기존모형 및 실측치와 비교하여 만족할 만한 정확도를 확보하였고, 기존모형에 대비해 약 3배 정도의 계산시간에 대한 성능이득을 얻을 수 있었다. 또한 입력자료 규모에 대한 Case별 모의 결과를 통해 적절한 입력자료의 규모와 프로세스 개수를 사용하는 것이 통신부하를 최소화할 수 있는 방안임을 확인할 수 있었다.

데이타 플로우 명세로부터 직렬화된 멀티태스킹 코드 생성 (Serialized Multitasking Code Generation from Dataflow Specification)

  • 권성남;하순회
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제35권9_10호
    • /
    • pp.429-440
    • /
    • 2008
  • 갈수록 복잡해지는 임베디드 시스템을 개발하는데 있어서 소프트웨어 개발의 중요성이 점차 커지고 있다. 대부분의 임베디드 응용 소프트웨어는 멀티 태스크로 구성되어 있는 병렬 소프트웨어이며, 기존의 순차적인 프로그래밍 언어만으로 개발하는 것보다는 알고리즘의 병렬성을 명세하기에 용이한 데이타플로우 모델로부터 소프트웨어를 생성하는 것이 유망하다. 생성된 멀티태스킹 코트를 수행하기 위해선 태스크들을 병렬적으로 수행해 주고 태스크간 동기화를 담당해 줄 운영체제의 도움이 필요하다. 그러나 운영체제를 사용하기 어려운 환경이나 설계 공간 탐색 과정에서 운영체제를 매번 다양한 하드웨어 플랫폼에 포팅하기 어려운 경우에는 운영체제 없이 멀티 태스크 응용을 수행할 수 있는 방법이 필요하다. 이것을 위해서 이 연구에서는 데이타 플로우 명세로부터 직렬화 된 멀티태스킹 코드를 생성하는 방법을 제안한다. 제안하는 방법에서 하나의 태스크는 데이타 플로우 모델로 명세되며, 하나의 C 코드로 생성된다. 코드 생성은 크게 두 단계로 이루어지는데, 먼저 태스크를 구성하는 블록들을 각각 함수 형태로 코드를 생성한 후에, 생성된 여러 태스크의 함수들을 모아서 직렬화 하여 호출하는 스케줄러를 만든다. 이 때에 스케줄러를 효율적으로 만들 수 있는 자료구조 및 정보를 제공하여 사용자가 수동으로 스케줄러를 만드는 것도 가능하도록 하였다. DivX예제를 통하여 제안하는 방법으로 생성한 코드가 효율적으로 올바르게 동작함을 보였다.

4-러시안 알고리즘 기반의 편집거리 병렬계산 (Parallel Computation For The Edit Distance Based On The Four-Russians' Algorithm)

  • 김영호;정주희;강대웅;심정섭
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제2권2호
    • /
    • pp.67-74
    • /
    • 2013
  • 근사문자열매칭 문제는 다양한 분야에서 연구되어 왔다. 최근에는 차세대염기서열분석의 비용과 시간을 줄이기 위해 빠른 근사문자열매칭 알고리즘들이 이용되고 있다. 근사문자열매칭은 문자열들의 오차를 측정하기 위해 편집거리와 같은 거리함수를 이용한다. 알파벳 ${\Sigma}$에 대한 길이가 각각 m, n인 두 문자열 X와 Y의 편집거리는 X를 Y로 변환하기 위해 필요한 최소 편집연산의 수로 정의된다. 두 문자열의 편집거리는 잘 알려진 동적프로그래밍을 이용하여 O(mn) 시간과 공간에 계산할 수 있으며, 4-러시안 알고리즘을 이용해서도 계산할 수 있다. 4-러시안 알고리즘은 블록 크기를 t라 할 때, 전처리 단계에서 $O((3{\mid}{\Sigma}{\mid})^{2t}t^2)$ 시간과 $O((3{\mid}{\Sigma}{\mid})^{2t}t)$ 공간이 필요하며, 계산 단계에서 O(mn/t) 시간과 O(mn) 공간을 이용하여 편집거리를 계산하는 알고리즘이다. 본 논문에서는 4-러시안 알고리즘의 계산 단계를 병렬화하고 실험을 통해 CPU 기반의 순차적 알고리즘과 CUDA로 구현한 GPU 기반의 병렬 알고리즘의 수행시간을 비교한다. 본 논문에서 제시하는 4-러시안 알고리즘의 계산단계는 m/t개의 쓰레드를 사용하여 O(m+n) 시간에 편집거리를 계산한다. GPU 기반의 알고리즘이 CPU 기반의 알고리즘 보다 t = 1일 때 약 10배 빠르고, t = 2일 때 약 3배 빠른 결과를 보였다.

교육과정과 연계된 초등학교 캠프형 SW·AI교육 콘텐츠 개발에 관한 연구 (A Study on the development of elementary school SW·AI educational contents linked to the curriculum(camp type))

  • 변영신;한정수
    • 사물인터넷융복합논문지
    • /
    • 제8권6호
    • /
    • pp.49-54
    • /
    • 2022
  • 코로나 이후 급격한 현대사회의 변화는 인공지능 인재가 국가 경쟁력을 좌우하는 주요한 영향요인으로 부각시겼다. 이에 따라 교육부에서는 인공지능 교육 공백기에 있는 초등학교 4-6학년과 중고등학생의 디지털 역량을 개발시키기 위해 대단위 SW·AI 캠프 교육 사업을 기획하였다. 이에 본 연구에서는 초등학교 4-6학년 학생들을 대상으로 하는 캠프 형 SW·AI교육프로그램을 개발하여 초등학교 4-6학년 학생들로 하여금 인공지능 기초소양을 갖추도록 하고자 한다. 이를 위해 초등학교에서의 SW·AI 교육의 의미를 정의하고 초등학교과정에서 다루어야 할 SW·AI 내용으로 'SW·AI의 이해', 'SW·AI의 원리와 활용' 및 'SW·AI의 사회적 영향'을 설정하였다. 또한 설정된 초등학교 SW·AI 교육학습 요소와 현재 초등학교에서 사용하고 있는 교과서의 관련 교과 및 단원과의 연계를 시도하였다. 교육에 사용되는 프로그램으로는 블록코딩 기반의 소프트웨어 코딩 학습 도구인 엔트리를 통하여 소프트웨어 프로그래밍 기초 역량을 강화하도록 하였으며, 모든 프로그램은 초등학생의 발달적 특징을 고려하여 경험과 체험 위주의 참여자 중심으로 운영되도록 설계하였다. 본 연구에서 이루어진 SW·AI 캠프 교육 프로그램은 방과 후 과정이나 방학 등을 이용하여 단기간에 운영되는 프로그램이다. 따라서 이를 토대로 초등학교 과정에서 SW·AI 교육이 정규교육과정의 일원으로 편성되어 운영되기 위해서는 정규교과 내용분석과 SW·AI 교육내용의 심층적인 분석을 기초로 한 연구가 필요함을 제언하는 바이다.

Analysis of Satisfaction of Pre-service and In-service Elementary Teachers with Artificial Intelligence Education using App Inventor

  • Junghee, Jo
    • 한국컴퓨터정보학회논문지
    • /
    • 제28권3호
    • /
    • pp.189-196
    • /
    • 2023
  • 본 논문에서는 예비 초등교사 13명과 현직 초등교사 9명을 대상으로 앱인벤터를 활용한 인공지능 교육을 실시하고 만족도 조사를 통해서 학생들의 배경 변인과의 관련성이 있는지, 그리고 두 그룹의 학생들 사이에 만족도의 차이가 있는지 분석하였다. 연구 결과, 현직 교사는 교육에 대한 흥미도, 난이도, 참여도를 묻는 문항에서 예비 교사보다 모두 만족도가 높았다. 또한, 교육이 인공지능의 학습 동기 부여에 도움을 주었는지, 향후 초등학교 수업에 적용해 볼 의향이 있는지를 조사하는 문항에서도 예비 교사보다 긍정적으로 나타났다. 예비교사는 대체적으로 현직 교사에 비해서는 부정적인 측면이 있으나 교육이 인공지능의 이해도 향상에 도움이 되었는지, 추가 교육에 참가할 의향이 있는지를 조사하는 문항에서는 현직 교사보다 긍정적으로 나타났다. 두 그룹 학생의 만족도에 의미 있는 차이가 있는지 Mann-Whitney Test로 분석한 결과 통계적인 유의미성은 없었다. 이는, 사전 조사 결과를 기반으로 유추하였을 때 두 그룹의 대다수 학생들이 이미 블록형 또는 텍스트형 프로그래밍 경험이 있었으므로 앱인벤터에 대한 특별한 거부감이나 어려움없이 교육을 따라올 수 있었고 이에 만족도가 두 그룹 사이에 유사한 수치로 높게 나타난 것으로 분석된다. 본 연구의 결과는 향후 예비 및 현직 초등교사의 인공지능 교육을 위한 프로그램 개발 및 운영의 기초 자료로 활용될 수 있을 것이다.

경량암호 SPARKLE SCHWAEMM에 대한 Grover 공격 비용 분석 및 양자 후 보안 강도 평가 (Analysis of Grover Attack Cost and Post-Quantum Security Strength Evaluation for Lightweight Cipher SPARKLE SCHWAEMM)

  • 양유진;장경배;김현지;송경주;임세진;서화정
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제11권12호
    • /
    • pp.453-460
    • /
    • 2022
  • 고성능 양자 컴퓨터의 개발이 기대됨에 따라 잠재적인 양자 컴퓨터의 공격으로부터 안전한 양자 후 보안 시스템 구축을 위한 연구들이 활발하게 진행되고 있다. 대표적인 양자 알고리즘 중 하나인 Grover 알고리즘이 대칭키 암호의 키 검색에 사용될 경우, 암호의 보안 강도가 제곱근으로 감소되는 안전성의 문제가 발생할 수 있다. NIST는 암호 알고리즘의 공격에 필요로 하는 Grover 알고리즘의 비용을 기준으로 추정한 양자 후 보안 강도를 대칭키 암호에 대한 양자 후 보안 요구사항으로 제시하고 있다. 대칭키 암호의 공격에 대한 Grover 알고리즘의 추정 비용은 해당하는 암호화 알고리즘의 양자 회로 복잡도에 의해 결정된다. 본 논문에서는 NIST의 경량암호 공모전 최종 후보에 오른 SPARKLE의 AEAD군인 SCHWAEMM 알고리즘의 양자 회로를 효율적으로 구현하고, Grover 알고리즘을 적용하기 위한 양자 비용에 대해 분석한다. 이때, 암호화 순열 과정 중에 사용되는 덧셈기와 관련하여 CDKM ripple-carry 덧셈기와 Unbounded Fan-Out 덧셈기에 따른 비용을 같이 비교한다. 마지막으로, 분석한 비용과 NIST의 양자 후 보안 요구사항을 기반으로 경량암호 SPARKLE SCHWAEMM 알고리즘에 대한 양자 후 보안 강도를 평가한다. 양자 회로 구현 및 비용 분석에는 양자 프로그래밍 툴인 ProjectQ가 사용되었다.

텍스트 마이닝 통합 애플리케이션 개발: KoALA (Application Development for Text Mining: KoALA)

  • 전병진;최윤진;김희웅
    • 경영정보학연구
    • /
    • 제21권2호
    • /
    • pp.117-137
    • /
    • 2019
  • 빅데이터 시대를 맞아 다양한 도메인에서 수없이 많은 데이터들이 생산되면서 데이터 사이언스가 대중화 되었고, 데이터의 힘이 곧 경쟁력인 시대가 되었다. 특히 전 세계 데이터의 80% 이상을 차지하는 비정형 데이터에 대한 관심이 부각되고 있다. 소셜 미디어의 발전과 더불어 비정형 데이터의 대부분은 텍스트 데이터의 형태로 발생하고 있으며, 마케팅, 금융, 유통 등 다양한 분야에서 중요한 역할을 하고 있다. 하지만 이러한 소셜 미디어를 활용한 텍스트 마이닝은 수치형 데이터를 활용한 데이터 마이닝 분야에 비해 접근이 어렵고 복잡해 기대에 비해 그 활용도가 높지 못한 실정이다. 이에 본 연구는 프로그래밍 언어나 고사양 하드웨어나 솔루션에 의존하지 않고, 쉽고 간편한 소셜 미디어 텍스트 마이닝을 위한 통합 애플리케이션으로 Korean Natural Language Application(KoALA)을 개발하고자 한다. KoALA는 소셜 미디어 텍스트 마이닝에 특화된 애플리케이션으로, 한글, 영문을 가리지 않고 분석 가능한 통합 애플리케이션이다. 데이터 수집에서 전처리, 분석, 그리고 시각화에 이르는 전 과정을 처리해준다. 본 논문에서는 디자인 사이언스(design science) 방법론을 활용해 KoALA 애플리케이션을 디자인, 구현, 적용하는 과정에 대해서 다룬다. 마지막으로 블록체인 비즈니스 관련 사례를 들어 KoALA의 실제 활용방안에 대해서 다룬다. 본 논문을 통해 소셜 미디어 텍스트 마이닝의 대중화와 다양한 도메인에서 텍스트 마이닝의 실무적, 학술적 활용을 기대해 본다.