<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.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:57:41Z</responseDate><request verb="GetRecord" identifier="oai:dspace.mit.edu:1721.1/139203" metadataPrefix="dim">https://dspace.mit.edu/server/oai/request</request><GetRecord><record><header><identifier>oai:dspace.mit.edu:1721.1/139203</identifier><datestamp>2022-01-15T03:34:22Z</datestamp><setSpec>com_1721.1_7582</setSpec><setSpec>com_1721.1_7581</setSpec><setSpec>col_1721.1_131023</setSpec></header><metadata><dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.dspace.org/xmlns/dspace/dim http://www.dspace.org/schema/dim.xsd">
   <dim:field mdschema="dc" element="contributor" qualifier="advisor">Edelman, Alan</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="author">Julian, Meredith</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="department">Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="accessioned">2022-01-14T14:56:27Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="available">2022-01-14T14:56:27Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="issued">2021-06</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="submitted">2021-06-17T20:13:25.837Z</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="uri">https://hdl.handle.net/1721.1/139203</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="abstract">Central processing unit (CPU) code performance is highly dependent on instruction and data parallelism. Instruction parallelism is largely focused on CPU cores and threading, while data parallelism relies on specialized vectors. Single-instruction, multiple-data (SIMD) vectors allow for a single instruction to be executed on multiple data elements in parallel, and is very fine-grained compared to instruction parallelism.&#xd;
&#xd;
This project focuses on data parallelism. One way to increase performance on CPU is to rearrange code to allow for more vectorization, such as considering striding of array accesses. The polyhedral model of computation describes a series of operations and abstractions for manipulating code without violating dependencies or correctness, but is more aggressive than typical compiler optimizations.&#xd;
&#xd;
This paper describes the process of applying the polyhedral model to the Julia language with the acceleration of code via increased vectorization and memory locality in mind. It succeeds as a tool for both experienced developers and those new to Julia and allows for more simple analysis and generation of algorithms for new and existing code.</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="degree">M.Eng.</dim:field>
   <dim:field mdschema="dc" element="publisher">Massachusetts Institute of Technology</dim:field>
   <dim:field mdschema="dc" element="rights">In Copyright - Educational Use Permitted</dim:field>
   <dim:field mdschema="dc" element="rights">Copyright MIT</dim:field>
   <dim:field mdschema="dc" element="rights" qualifier="uri">http://rightsstatements.org/page/InC-EDU/1.0/</dim:field>
   <dim:field mdschema="dc" element="title">Polyhedral Code Transformation for Julia</dim:field>
   <dim:field mdschema="dc" element="type">Thesis</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="mimetype">application/pdf</dim:field>
   <dim:field mdschema="mit" element="thesis" qualifier="degree">Master</dim:field>
   <dim:field mdschema="thesis" element="degree" qualifier="name">Master of Engineering in Electrical Engineering and Computer Science</dim:field>
   <dim:field mdschema="dspace" element="entity" qualifier="type">Publication</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="cerif" element="openaire" authority="" confidence="-1">&lt;Publication xmlns="https://www.openaire.eu/cerif-profile/1.1/" id="79d23b37-9539-4012-9848-cac5f6552871">
	&lt;Type xmlns="https://www.openaire.eu/cerif-profile/vocab/COAR_Publication_Types">http://purl.org/coar/resource_type/c_1843&lt;/Type>
   	&lt;Title>Polyhedral Code Transformation for Julia&lt;/Title>
   	&lt;PublishedIn>
    	&lt;Publication>
      	&lt;/Publication>
   	&lt;/PublishedIn>
   	&lt;PublicationDate>2021-06&lt;/PublicationDate>
   	&lt;Authors>
      	&lt;Author>
        	&lt;DisplayName>Julian, Meredith&lt;/DisplayName>
         	&lt;Affiliation>
         		&lt;OrgUnit>
         		&lt;/OrgUnit>
         	&lt;/Affiliation>
      	&lt;/Author>
	&lt;/Authors>
   	&lt;Editors>
	&lt;/Editors>
    &lt;Publishers>
        &lt;Publisher>
            &lt;DisplayName>Massachusetts Institute of Technology&lt;/DisplayName>
            &lt;OrgUnit />
        &lt;/Publisher>
    &lt;/Publishers>
    &lt;License>http://rightsstatements.org/page/InC-EDU/1.0/&lt;/License>
   	&lt;Abstract>Central processing unit (CPU) code performance is highly dependent on instruction and data parallelism. Instruction parallelism is largely focused on CPU cores and threading, while data parallelism relies on specialized vectors. Single-instruction, multiple-data (SIMD) vectors allow for a single instruction to be executed on multiple data elements in parallel, and is very fine-grained compared to instruction parallelism.&#xd;
&#xd;
This project focuses on data parallelism. One way to increase performance on CPU is to rearrange code to allow for more vectorization, such as considering striding of array accesses. The polyhedral model of computation describes a series of operations and abstractions for manipulating code without violating dependencies or correctness, but is more aggressive than typical compiler optimizations.&#xd;
&#xd;
This paper describes the process of applying the polyhedral model to the Julia language with the acceleration of code via increased vectorization and memory locality in mind. It succeeds as a tool for both experienced developers and those new to Julia and allows for more simple analysis and generation of algorithms for new and existing code.&lt;/Abstract>
	&lt;Access xmlns="http://purl.org/coar/access_right" 
    >
    &lt;/Access>
&lt;/Publication>
</dim:field>
</dim:dim>
</metadata></record></GetRecord></OAI-PMH>