<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/oai-pmh.xsl"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-09-19T05:08:41Z</responseDate>
  <request identifier="oai:www.ideals.illinois.edu:2142/49466" metadataPrefix="etdms" verb="GetRecord">https://www.ideals.illinois.edu/oai-pmh</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:www.ideals.illinois.edu:2142/49466</identifier>
        <datestamp>2023-07-11</datestamp>
        <setSpec>col_2142_5131</setSpec>
        <setSpec>col_2142_8888</setSpec>
        <setSpec>com_2142_5130</setSpec>
        <setSpec>com_2142_8887</setSpec>
        <setSpec>com_2142_234</setSpec>
      </header>
      <metadata>
        <thesis xmlns="http://www.ndltd.org/standards/metadata/etdms/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.ndltd.org/standards/metadata/etdms/1.1/ http://www.ndltd.org/standards/metadata/etdms/1.1/etdms11.xsd http://purl.org/dc/elements/1.1/ http://www.ndltd.org/standards/metadata/etdms/1.1/etdmsdc.xsd">
          <dc:creator>Wu, Shengzhao</dc:creator>
          <dc:contributor>Hwu, Wen-Mei W.</dc:contributor>
          <dc:date>2014-05-30T16:45:43Z</dc:date>
          <dc:date>2014-05-30T16:45:43Z</dc:date>
          <dc:date>2014-05</dc:date>
          <dc:date>2014-05-30T16:45:43Z</dc:date>
          <dc:date>2014-05</dc:date>
          <dc:description>How to program a parallel machine has always been a major research problem. Many tools, languages and libraries are developed in order to make parallel programming more accessible for most users. However, no matter what approach is taken to program a parallel machine, there is always a trade-off between productivity, performance and portability. It is very hard to develop a system that only requires short and concise code to achieve close-to-optimal performance on a wide range of parallel machines.
In this thesis, a novel programming framework is developed to achieve a good combination of productivity, performance and portability. The programming framework is designed based on computation patterns that contain parallel information. The programming framework can efficiently map these computation patterns onto a parallel machine. The programming framework also utilizes the C++ templates to generate optimized code for different compositions of computation patterns. It uses a novel way to implement the computation patterns that allow automatic high-level optimization at compile time. Through the benchmarks, it shows that the programming framework can effectively express the computation kernels in few lines of code and achieve the performance of their optimized C code on multi-core CPUs.</dc:description>
          <dc:description>Item withdrawn by Mark Zulauf (zulauf@illinois.edu) on 2014-04-30T16:06:02Z
Item was in collections:
University of Illinois Theses &amp; Dissertations (ID: 1)
No. of bitstreams: 1
Wu_Shengzhao.pdf: 692233 bytes, checksum: c839f04782a3b8d83139644c708c6770 (MD5)</dc:description>
          <dc:description>Made available in DSpace on 2014-05-30T16:45:43Z (GMT). No. of bitstreams: 2
Shengzhao_Wu.pdf: 692233 bytes, checksum: c839f04782a3b8d83139644c708c6770 (MD5)
license.txt: 4058 bytes, checksum: 3a0f711d690ac4c0f4773e08814f4a38 (MD5)</dc:description>
          <dc:identifier>http://hdl.handle.net/2142/49466</dc:identifier>
          <dc:language>en</dc:language>
          <dc:rights>Copyright 2014 Shengzhao Wu</dc:rights>
          <dc:subject>C++</dc:subject>
          <dc:subject>Programming Language</dc:subject>
          <dc:subject>Compiler</dc:subject>
          <dc:subject>Metaprogramming</dc:subject>
          <dc:subject>Parallel programming</dc:subject>
          <dc:subject>Multi-core</dc:subject>
          <dc:title>High-performance parallel programming framework using template-based static optimization</dc:title>
          <dc:type>text</dc:type>
          <degree>
            <department>Electrical &amp; Computer Eng</department>
            <departmentCode>1933</departmentCode>
            <discipline>Electrical &amp; Computer Engr</discipline>
            <disciplineCode>1200</disciplineCode>
            <grantor>University of Illinois at Urbana-Champaign</grantor>
            <level>Thesis</level>
            <name>M.S.</name>
            <program>MS:Electr &amp; Computer Eng-UIUC</program>
            <programCode>10KS1200MS</programCode>
          </degree>
        </thesis>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
