효과적인 CUDA 디버깅을 위한 CUDA 커널 분리 소프트웨어 도구

인공지능, 빅데이터 처리 등 다양한 분야에서 GPU를 이용한 병렬 처리 방법이 보편화 되면서 GPU 기반 병렬 처리에 대한 중요성이 점차 증가하고 있다. 그러나 GPU 기반 병렬 처리 소프트웨어의 개발 과정에서 보편적으로 널리 사용되는 디버거(Nvidia NSight)는 병렬 처리 기본 단위인 CUDA 커널(kernel)이 여러 개 존재할 때 내부적인 문제로 인하여 효율적인 디버깅을 수행할 수 없는 상황이 빈번하게 발생한다. 본 논문에서는 이러한 문제를 해결하기 위해 실행 중인 전체 CUDA 소스 코드에서 디버깅이 필요한 커널만을...

Full description

Saved in:
Bibliographic Details
Published in디지털콘텐츠학회논문지 Vol. 21; no. 2; pp. 373 - 380
Main Authors 양정아(Jung Ah Yang), 박태정(Taejung Park)
Format Journal Article
LanguageKorean
Published 한국디지털콘텐츠학회 01.02.2020
Subjects
Online AccessGet full text
ISSN1598-2009
2287-738X
DOI10.9728/dcs.2020.21.2.373

Cover

Abstract 인공지능, 빅데이터 처리 등 다양한 분야에서 GPU를 이용한 병렬 처리 방법이 보편화 되면서 GPU 기반 병렬 처리에 대한 중요성이 점차 증가하고 있다. 그러나 GPU 기반 병렬 처리 소프트웨어의 개발 과정에서 보편적으로 널리 사용되는 디버거(Nvidia NSight)는 병렬 처리 기본 단위인 CUDA 커널(kernel)이 여러 개 존재할 때 내부적인 문제로 인하여 효율적인 디버깅을 수행할 수 없는 상황이 빈번하게 발생한다. 본 논문에서는 이러한 문제를 해결하기 위해 실행 중인 전체 CUDA 소스 코드에서 디버깅이 필요한 커널만을 추출하고 실제 실행 상황에서 해당 커널에 입력되는 입력값을 추출해서 단위 테스트 수행을 자동화하는 소프트웨어 도구의 개발을 제안한다. 제안하는 도구는 개발 중인 CUDA 병렬 코드의 실행 흐름을 그대로 유지한 채로 디버깅이 필요한 특정 커널에 초점을 맞춰 디버깅을 수행할 수 있는 코드를 자동으로 생성한다. 본 논문에서는 제안하는 소프트웨어 도구의 구조와 원리를 소개하고 실제 NSight만으로 디버깅이 불가능한 사례에 적용하여 성공적으로 디버깅을 수행하는 사례를 소개한다. With the advent of artificial intelligence and big data analysis, the parallel processing technique based on the GPU has been playing a critical role in these fields. Unfortunately, the common debugger, NSight from Nvidia often fails to work when there are lots of CUDA kernels, which are basic parallel execution units due to internal limitations of NSight. In this paper, we present a software tool which can extract the kernel in the problem and its input information in the CUDA source code without affecting the original parallel execution of CUDA codes. We also introduce a case study where our software tool has been applied to the actual software development process for GPU-based parallel processing to prove the validity of the proposed unit tester. KCI Citation Count: 0
AbstractList 인공지능, 빅데이터 처리 등 다양한 분야에서 GPU를 이용한 병렬 처리 방법이 보편화 되면서 GPU 기반 병렬 처리에 대한 중요성이 점차 증가하고 있다. 그러나 GPU 기반 병렬 처리 소프트웨어의 개발 과정에서 보편적으로 널리 사용되는 디버거(Nvidia NSight)는 병렬 처리 기본 단위인 CUDA 커널(kernel)이 여러 개 존재할 때 내부적인 문제로 인하여 효율적인 디버깅을 수행할 수 없는 상황이 빈번하게 발생한다. 본 논문에서는 이러한 문제를 해결하기 위해 실행 중인 전체 CUDA 소스 코드에서 디버깅이 필요한 커널만을 추출하고 실제 실행 상황에서 해당 커널에 입력되는 입력값을 추출해서 단위 테스트 수행을 자동화하는 소프트웨어 도구의 개발을 제안한다. 제안하는 도구는 개발 중인 CUDA 병렬 코드의 실행 흐름을 그대로 유지한 채로 디버깅이 필요한 특정 커널에 초점을 맞춰 디버깅을 수행할 수 있는 코드를 자동으로 생성한다. 본 논문에서는 제안하는 소프트웨어 도구의 구조와 원리를 소개하고 실제 NSight만으로 디버깅이 불가능한 사례에 적용하여 성공적으로 디버깅을 수행하는 사례를 소개한다. With the advent of artificial intelligence and big data analysis, the parallel processing technique based on the GPU has been playing a critical role in these fields. Unfortunately, the common debugger, NSight from Nvidia often fails to work when there are lots of CUDA kernels, which are basic parallel execution units due to internal limitations of NSight. In this paper, we present a software tool which can extract the kernel in the problem and its input information in the CUDA source code without affecting the original parallel execution of CUDA codes. We also introduce a case study where our software tool has been applied to the actual software development process for GPU-based parallel processing to prove the validity of the proposed unit tester. KCI Citation Count: 0
Author 박태정(Taejung Park)
양정아(Jung Ah Yang)
Author_xml – sequence: 1
  fullname: 양정아(Jung Ah Yang)
– sequence: 2
  fullname: 박태정(Taejung Park)
BackLink https://www.kci.go.kr/kciportal/ci/sereArticleSearch/ciSereArtiView.kci?sereArticleSearchBean.artiId=ART002563290$$DAccess content in National Research Foundation of Korea (NRF)
BookMark eNotjD1Lw0AAhg-pYK39AW5ZHBwS7yOXu4ylrVooFqSCW7h8nIRqKgkOjkJ0EEGH6KAtOIh06OQXFf1FzeU_WGyX93nhfXhXQSnqRwEA6wgaNsN8y_cSA0MMDYwMbBBGlkAZY850RvhhCZQRtbmOIbRXQDVJQhdSQhjDGJdBp3gcTd9_1fOFGk60-kGjpuVZlr-l0-9LNUw1NUiL-8F8UD8veXqn5V9p_jrW1NVNkaXF9UQ9jdTDh5bfptPP8RpYluI4CaoLVkB3u9mt7-rtzk6rXmvrkWVi3ReMWxIxCoUwRWCaJoHMNQU3KeOeLaVLEbOoJ6l0SWD50vOJ52OEAkJmaZEK2JzfRrF0el7o9EX4z6O-04ud2n635Vg2QhSRmbuxcM_i8CTwQ-GczoqIz529TqMJbQJtzjD5A5AndN0
ContentType Journal Article
DBID DBRKI
TDB
ACYCR
DOI 10.9728/dcs.2020.21.2.373
DatabaseName DBPIA - 디비피아
Korean Database (DBpia)
Korean Citation Index
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
DocumentTitleAlternate Software Tool to Separate CUDA Kernel for Effective CUDA Debugging
DocumentTitle_FL Software Tool to Separate CUDA Kernel for Effective CUDA Debugging
EISSN 2287-738X
EndPage 380
ExternalDocumentID oai_kci_go_kr_ARTI_6911513
NODE09309872
GroupedDBID ALMA_UNASSIGNED_HOLDINGS
DBRKI
M~E
TDB
ACYCR
ID FETCH-LOGICAL-n642-da786f1750aa4ae444307b4a84578c9ffb51765cf5fb3e6dfcd3cd211e3321163
ISSN 1598-2009
IngestDate Wed Apr 23 03:13:43 EDT 2025
Thu Feb 06 13:24:35 EST 2025
IsPeerReviewed true
IsScholarly true
Issue 2
Keywords CUDA
NSight
CUDA 커널 분리
Debugging
디버깅
Parallel Processing
CUDA Kernel Separation
병렬 처리
Language Korean
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-n642-da786f1750aa4ae444307b4a84578c9ffb51765cf5fb3e6dfcd3cd211e3321163
Notes http://dx.doi.org/10.9728/dcs.2020.21.2.373
PageCount 8
ParticipantIDs nrf_kci_oai_kci_go_kr_ARTI_6911513
nurimedia_primary_NODE09309872
PublicationCentury 2000
PublicationDate 2020-02
PublicationDateYYYYMMDD 2020-02-01
PublicationDate_xml – month: 02
  year: 2020
  text: 2020-02
PublicationDecade 2020
PublicationTitle 디지털콘텐츠학회논문지
PublicationYear 2020
Publisher 한국디지털콘텐츠학회
Publisher_xml – name: 한국디지털콘텐츠학회
SSID ssib053377222
ssib008451574
ssib049971524
ssib036278589
ssib053682487
Score 2.1096923
Snippet 인공지능, 빅데이터 처리 등 다양한 분야에서 GPU를 이용한 병렬 처리 방법이 보편화 되면서 GPU 기반 병렬 처리에 대한 중요성이 점차 증가하고 있다. 그러나 GPU 기반...
SourceID nrf
nurimedia
SourceType Open Website
Publisher
StartPage 373
SubjectTerms 컴퓨터학
Title 효과적인 CUDA 디버깅을 위한 CUDA 커널 분리 소프트웨어 도구
URI https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE09309872
https://www.kci.go.kr/kciportal/ci/sereArticleSearch/ciSereArtiView.kci?sereArticleSearchBean.artiId=ART002563290
Volume 21
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
ispartofPNX 디지털콘텐츠학회논문지, 2020, 21(2), , pp.373-380
journalDatabaseRights – providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2287-738X
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssib053682487
  issn: 1598-2009
  databaseCode: M~E
  dateStart: 20000101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrR1Na9RANNR60IsoKtaPEsQ5LVmz85HMHJNsSi209bCFegr5VLuwldK9eBCE6EEEPawetAUPIj305BcV_UXd7H_wzSSb3argB8KSfcy89_LmvczMe8PMG027xjKGw8hODTOOiAGjX2pEwqRGSKNY0CgiWSIPCi-vWItrdGmdrc8cG0ztWupvR834_i_PlfyLVaEM7CpPyf6FZWumUAAw2BeeYGF4_pGNkd9GwkEOR76DXIJcD_keckxwDyUg2sjlDW-t7TSQ7yJB5Q8AFyNOFYlAnFWYnDYU5Kk64MsAHhN7yHWRo4ihVpiKn2spVKiwkOMpLA5FnqKmFRsOb-GKsavkBMBCLlUM-MJYDoaqFJAb44bV4kJ7bLkdQ_KiFS8XXsBVCQhpqhIum12JLSq9SFFcieMqwPEqcsVw_KVVIolWpTpRKoTJt2G-1JerRncat9SyupgQQfNLXBCCSK3V1Jh3wnRD0t1U-9DF9MIKRNHmkU0qtarHemj_r7ZPTzdCfdGlJKkqwxDDGjZRFy7Xc1R5irzqi3hqwiHlRTCV70JK7f04LQoby6MeSSzz02OziVtN3Kwpj2QbX1lt-6YgpuA2ODbHsW1Z8l6Q5Qd-PUpzCj7wJGgAD8jmbHJnAYTQNjiFdT3EExDBTZJEMmJxTNXNlXXzy-0GUszrPwkJTl9vC3zFE72-vPACRs0pB7BzWjtVRW66U3bDM9pMd_Ostjp6tXf44Vvx5mGxe6DL3qIPB4Ph-_zwy6NiN9eLnXz0YqesKL6-HebP9eHnfPhuXy8ePx0N8tGTg-L1XvHyoz58lh9-2j-ndRb8jrdoVHeUGD2I3I0ktLmVgQtuhiENU0opzJkRDUFHNo9FlkWsZVsszlgWkdRKsjghcYJbrZQQeFrkvDbb2-ylFzQ9ATQ7xTzhMmcjzrjFYHi1Rcwxj-MsmdOugh6Cbnw3kCnh5f_tzaC7FUDgeyOwwGlhLTKnzddqCu6V-WqCaZte_B3CJe3kpDNc1ma3t_rpFfC7t6N59Rl8B17Qpyg
linkProvider ISSN International Centre
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=%ED%9A%A8%EA%B3%BC%EC%A0%81%EC%9D%B8+CUDA+%EB%94%94%EB%B2%84%EA%B9%85%EC%9D%84+%EC%9C%84%ED%95%9C+CUDA+%EC%BB%A4%EB%84%90+%EB%B6%84%EB%A6%AC+%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4+%EB%8F%84%EA%B5%AC&rft.jtitle=%EB%94%94%EC%A7%80%ED%84%B8%EC%BD%98%ED%85%90%EC%B8%A0%ED%95%99%ED%9A%8C%EB%85%BC%EB%AC%B8%EC%A7%80&rft.au=%EC%96%91%EC%A0%95%EC%95%84%28Jung+Ah+Yang%29&rft.au=%EB%B0%95%ED%83%9C%EC%A0%95%28Taejung+Park%29&rft.date=2020-02-01&rft.pub=%ED%95%9C%EA%B5%AD%EB%94%94%EC%A7%80%ED%84%B8%EC%BD%98%ED%85%90%EC%B8%A0%ED%95%99%ED%9A%8C&rft.issn=1598-2009&rft.eissn=2287-738X&rft.volume=21&rft.issue=2&rft.spage=373&rft.epage=380&rft_id=info:doi/10.9728%2Fdcs.2020.21.2.373&rft.externalDocID=NODE09309872
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1598-2009&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1598-2009&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1598-2009&client=summon