서브메뉴
검색
High-Level Compiler Optimizations for Python Programs
High-Level Compiler Optimizations for Python Programs
상세정보
- 자료유형
- 학위논문 서양
- 최종처리일시
- 20260202105556
- ISBN
- 9798265403469
- DDC
- 005.13
- 저자명
- Zhou, Tong.
- 서명/저자
- High-Level Compiler Optimizations for Python Programs
- 발행사항
- [Sl] : Georgia Institute of Technology, 2024
- 발행사항
- Ann Arbor : ProQuest Dissertations & Theses, 2024
- 형태사항
- 157 p
- 주기사항
- Source: Dissertations Abstracts International, Volume: 87-05, Section: B.
- 주기사항
- Advisor: Sarkar, Vivek.
- 학위논문주기
- Thesis (Ph.D.)--Georgia Institute of Technology, 2024.
- 초록/해제
- 요약As Python becomes the de facto high-level programming language for many data analyt- ics and scientific computing domains, it becomes increasingly critical to build optimizing compilers that are able to generate efficient sequential and parallel code from Python pro- grams to keep up with the insatiable demands for performance in these domains. Programs written in high-level languages like Python often make extensive use of arrays as a core data type, and mathematical functions applied on the arrays, in conjunction with general loops and element-level array accesses. Such a programming style poses both challenges and opportunities for optimizing compilers. We recognize that current compilers are limited in their ability to make effective use of the high-level operator and loop semantics to generate efficient code on modern parallel architectures.This dissertation presents three pieces of work that demonstrate that compilers that leverage high-level operator and loop semantics can deliver improved performance for Python programs on CPUs and GPUs, relative to past work. On the CPU front, we present Intrepydd, a Python to C++ compiler that compiles a broad class of Python language constructs and NumPy array operators to sequential and parallel C++ code on CPUs. On the GPU front, we present APPy (Annotated Parallelism for Python), which enables users to parallelize generic Python loops and tensor expressions for execution on GPUs by simply adding compiler directives (annotations) to Python code. Then for programs consisting of sparse tensor operators, we introduce ReACT, which consists of a set of code generation techniques that achieve greater redundancy elimination than state-of-the-art.
- 일반주제명
- C plus plus
- 일반주제명
- Benchmarks
- 일반주제명
- Mathematical functions
- 일반주제명
- Data science
- 일반주제명
- Libraries
- 일반주제명
- Python
- 일반주제명
- Semantics
- 일반주제명
- Mathematics
- 기본자료저록
- Dissertations Abstracts International. 87-05B.
- 전자적 위치 및 접속
- 로그인 후 원문을 볼 수 있습니다.
MARC
008260126s2024 us c eng d■001000017360621
■00520260202105556
■006m o d
■007cr#unu||||||||
■020 ▼a9798265403469
■035 ▼a(MiAaPQ)AAI32315898
■035 ▼a(MiAaPQ)GeorgiaTech75219
■040 ▼aMiAaPQ▼cMiAaPQ
■0820 ▼a005.13
■1001 ▼aZhou, Tong.
■24510▼aHigh-Level Compiler Optimizations for Python Programs
■260 ▼a[Sl]▼bGeorgia Institute of Technology▼c2024
■260 1▼aAnn Arbor▼bProQuest Dissertations & Theses▼c2024
■300 ▼a157 p
■500 ▼aSource: Dissertations Abstracts International, Volume: 87-05, Section: B.
■500 ▼aAdvisor: Sarkar, Vivek.
■5021 ▼aThesis (Ph.D.)--Georgia Institute of Technology, 2024.
■520 ▼aAs Python becomes the de facto high-level programming language for many data analyt- ics and scientific computing domains, it becomes increasingly critical to build optimizing compilers that are able to generate efficient sequential and parallel code from Python pro- grams to keep up with the insatiable demands for performance in these domains. Programs written in high-level languages like Python often make extensive use of arrays as a core data type, and mathematical functions applied on the arrays, in conjunction with general loops and element-level array accesses. Such a programming style poses both challenges and opportunities for optimizing compilers. We recognize that current compilers are limited in their ability to make effective use of the high-level operator and loop semantics to generate efficient code on modern parallel architectures.This dissertation presents three pieces of work that demonstrate that compilers that leverage high-level operator and loop semantics can deliver improved performance for Python programs on CPUs and GPUs, relative to past work. On the CPU front, we present Intrepydd, a Python to C++ compiler that compiles a broad class of Python language constructs and NumPy array operators to sequential and parallel C++ code on CPUs. On the GPU front, we present APPy (Annotated Parallelism for Python), which enables users to parallelize generic Python loops and tensor expressions for execution on GPUs by simply adding compiler directives (annotations) to Python code. Then for programs consisting of sparse tensor operators, we introduce ReACT, which consists of a set of code generation techniques that achieve greater redundancy elimination than state-of-the-art.
■590 ▼aSchool code: 0078.
■650 4▼aC plus plus
■650 4▼aBenchmarks
■650 4▼aMathematical functions
■650 4▼aData science
■650 4▼aLibraries
■650 4▼aPython
■650 4▼aSemantics
■650 4▼aMathematics
■690 ▼a0800
■690 ▼a0405
■71020▼aGeorgia Institute of Technology.
■7730 ▼tDissertations Abstracts International▼g87-05B.
■790 ▼a0078
■791 ▼aPh.D.
■792 ▼a2024
■793 ▼aEnglish
■85640▼uhttp://www.riss.kr/pdu/ddodLink.do?id=T17360621▼nKERIS▼z이 자료의 원문은 한국교육학술정보원에서 제공합니다.


