Daily Arxiv

전 세계에서 발간되는 인공지능 관련 논문을 정리하는 페이지 입니다.
본 페이지는 Google Gemini를 활용해 요약 정리하며, 비영리로 운영 됩니다.
논문에 대한 저작권은 저자 및 해당 기관에 있으며, 공유 시 출처만 명기하면 됩니다.

Discovering Software Parallelization Points Using Deep Neural Networks

Created by
  • Haebom

저자

Izavan dos S. Correia, Henrique C. T. Santos, Tiago A. E. Ferreira

개요

본 연구는 프로그래밍 코드의 루프를 병렬화 가능성 여부에 따라 분류하기 위한 딥러닝 기반 접근 방식을 제안합니다. 두 개의 유전자 알고리즘 기반 코드 생성기를 사용하여 (i) 병렬화 가능한 독립 루프와 (ii) 종속성이 불분명하여 병렬화 가능 여부를 판단할 수 없는 모호한 루프, 이렇게 두 가지 유형의 코드를 생성했습니다. 생성된 코드 조각은 토큰화 및 전처리를 거쳐 견고한 데이터셋을 구축했습니다. 심층 신경망(DNN)과 컨볼루션 신경망(CNN)의 두 가지 딥러닝 모델을 구현하여 분류를 수행했습니다. 30번의 독립적인 실행을 통해 DNN과 CNN 모델의 예상 성능을 검증하기 위해 견고한 통계 분석을 실시했습니다. CNN이 약간 높은 평균 성능을 보였지만, 두 모델의 변동성은 유사했습니다. 다양한 데이터셋 크기에 대한 실험을 통해 모델 성능에 대한 데이터 다양성의 중요성을 강조했습니다. 이러한 결과는 딥러닝을 사용하여 코드 내 병렬화 가능한 구조를 자동 식별하는 것이 가능하다는 것을 보여주며, 소프트웨어 최적화 및 성능 향상을 위한 유망한 도구를 제공합니다.

시사점, 한계점

딥러닝을 통한 코드 내 병렬화 가능 구조 자동 식별 가능성 입증
소프트웨어 최적화 및 성능 향상을 위한 잠재적 도구 제공
DNN과 CNN 모델 모두 유사한 성능 보임
데이터셋 다양성이 모델 성능에 중요한 영향 미침
모호한 루프 처리 방식에 대한 추가 연구 필요
실제 코드 환경에서의 적용 가능성 및 확장성 연구 필요
👍