automatic mpi application transformation with asphaltpollock/471/antony471.pdfhave your cake + eat...
TRANSCRIPT
![Page 1: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/1.jpg)
Automatic MPI application transformation with ASPhALT
University of DelawareUniversity of Delaware
Lori Pollock Martin SwanyAnthony Danalis
![Page 2: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/2.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Problem
![Page 3: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/3.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Overall Research GoalOverall Research Goal
Requirements:✔ Achieve high-performance communication✔ Simplify the MPI code developers write
Have your cake+
Eat your cake
![Page 4: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/4.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Overall Research GoalOverall Research Goal
Requirements:✔ Achieve high-performance communication✔ Simplify the MPI code developers write
Have your cake+
Eat your cake
Automatic cake making machine
![Page 5: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/5.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Overall Research GoalOverall Research Goal
Proposed Solution:An automaticautomatic system that transformstransforms simple communication code into efficient code.
Requirements:✔ Achieve high-performance communication✔ Simplify the MPI code developers write
Have your cake+
Eat your cake
Automatic cake making machine
![Page 6: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/6.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Overall Research GoalOverall Research Goal
Proposed Solution:An automaticautomatic system that transformstransforms simple communication code into efficient code.
Requirements:✔ Achieve high-performance communication✔ Simplify the MPI code developers write
Side-effect:Enables legacy parallel MPI applicationslegacy parallel MPI applications to scale, even if written without any knowledgewithout any knowledge of this system
Have your cake+
Eat your cake
Automatic cake making machine
![Page 7: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/7.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Overall Research GoalOverall Research Goal
ASPhALT: Information from multiple
layers contributes to source optimization
Application
Runtime Libraries
Operating System/Network
Clu
ster
Lay
ers
![Page 8: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/8.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Our Framework : ASPhALT*
![Page 9: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/9.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Why/How transform the code?Example 1: Synchronous Transfer to Asynchronous Transfer
Computation
Communication
Computation (independent)
![Page 10: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/10.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Why/How transform the code?Example 1: Synchronous Transfer to Asynchronous Transfer
![Page 11: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/11.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Why/How transform the code?Example 1: Synchronous Transfer to Asynchronous Transfer
Computation
Communication Initiation
Computation (independent)
Communication Finalization
![Page 12: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/12.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Why/How transform the code?Example 1: Synchronous Transfer to Asynchronous Transfer
Execution Time
Reduction
![Page 13: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/13.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Why/How transform the code?Example 2: Loop Tiling (prepushing)
![Page 14: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/14.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Why/How transform the code?Example 2: Loop Tiling (prepushing)
![Page 15: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/15.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Why/How transform the code?Example 2: Loop Tiling (prepushing)
![Page 16: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/16.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Why/How transform the code?Example 2: Loop Tiling (prepushing)
![Page 17: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/17.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Why/How transform the code?Example 2: Loop Tiling (prepushing)
![Page 18: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/18.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Why/How transform the code?Example 2: Loop Tiling (prepushing)
![Page 19: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/19.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Utilizing Gravel to increase overlap
Thin library with no additional costs
Provide access to useful low level features (RDMA)
Provide function separation (Handshake / Data Transfer)
Abstract hardware/protocol/language details
Utilize existing state of the art APIsuDAPL
Gravel:
![Page 20: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/20.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Gravel Protocols
![Page 21: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/21.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Advanced use of Gravel
mpi_irecv()
do i=1,N sBuf[ i ] = ...enddo
mpi_isend()mpi_waitall()
gravel_post_recv_buffer_rdma()do T=1, N, K do i=T, T+K-1 sBuf[ i ] = ... enddo if( T == 1 ) then gravel_wait_recv_buffer_rdma() endif gravel_post_os_put()enddogravel_send_fin(next, ierr)gravel_waitall()
Before After
![Page 22: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/22.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Automatic Transformer
![Page 23: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/23.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Automation Challenges
Inter-procedural Analysis
Data Dependence Analysis
Array Access Analysis
Profitability Analysis
![Page 24: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/24.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Automation Challenges
iex = 1 call exchange_1( v,k,iex )
do j = jend, jst, -1 do i = iend, ist, -1 do m = 1, 5 tv( m, i, j ) = > omega * ( udz( m, 1, i, j ) * v( 1, i, j, k+1 ) > + udz( m, 2, i, j ) * v( 2, i, j, k+1 ) > + udz( m, 3, i, j ) * v( 3, i, j, k+1 ) > + udz( m, 4, i, j ) * v( 4, i, j, k+1 ) > + udz( m, 5, i, j ) * v( 5, i, j, k+1 ) ) end do end do end do
Communication might take place in a
separate function.
Inter-procedural Analysis
![Page 25: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/25.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Automation Challenges
Inter-procedural Analysis
call MPI_RECV( dum(1,exc1_jst), ... ) do j=exc1_jst,exc1_jend v(1,exc1_nx+1,j,k) = dum(1,j) v(2,exc1_nx+1,j,k) = dum(2,j) v(3,exc1_nx+1,j,k) = dum(3,j) v(4,exc1_nx+1,j,k) = dum(4,j) v(5,exc1_nx+1,j,k) = dum(5,j) enddo
do j = jend, jst, -1 do i = iend, ist, -1 do m = 1, 5 tv( m, i, j ) = > omega * ( udz( m, 1, i, j ) * v( 1, i, j, k+1 ) > + udz( m, 2, i, j ) * v( 2, i, j, k+1 ) > + udz( m, 3, i, j ) * v( 3, i, j, k+1 ) > + udz( m, 4, i, j ) * v( 4, i, j, k+1 ) > + udz( m, 5, i, j ) * v( 5, i, j, k+1 ) ) end do end do end do
Communication might take place in a
separate function.
Inlining can alleviatethe problem (but
might create others)
exchange_1( v, k, ...)
![Page 26: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/26.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Automation Challenges
Data Dependence Analysis
call MPI_RECV( dum(1,exc1_jst), ... ) do j=exc1_jst,exc1_jend v(1,exc1_nx+1,j,k) = dum(1,j) v(2,exc1_nx+1,j,k) = dum(2,j) v(3,exc1_nx+1,j,k) = dum(3,j) v(4,exc1_nx+1,j,k) = dum(4,j) v(5,exc1_nx+1,j,k) = dum(5,j) enddo
do j = jend, jst, -1 do i = iend, ist, -1 do m = 1, 5 tv( m, i, j ) = > omega * ( udz( m, 1, i, j ) * v( 1, i, j, k+1 ) > + udz( m, 2, i, j ) * v( 2, i, j, k+1 ) > + udz( m, 3, i, j ) * v( 3, i, j, k+1 ) > + udz( m, 4, i, j ) * v( 4, i, j, k+1 ) > + udz( m, 5, i, j ) * v( 5, i, j, k+1 ) ) end do end do end do
Used to find (in)dependent computation
![Page 27: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/27.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Automation Challenges
Data Dependence Analysis
call MPI_RECV( dum(1,exc1_jst), ... ) do j=exc1_jst,exc1_jend v(1,exc1_nx+1,j,k) = dum(1,j) v(2,exc1_nx+1,j,k) = dum(2,j) v(3,exc1_nx+1,j,k) = dum(3,j) v(4,exc1_nx+1,j,k) = dum(4,j) v(5,exc1_nx+1,j,k) = dum(5,j) enddo
do j = jend, jst, -1 do i = iend, ist, -1 do m = 1, 5 tv( m, i, j ) = > omega * ( udz( m, 1, i, j ) * v( 1, i, j, k+1 ) > + udz( m, 2, i, j ) * v( 2, i, j, k+1 ) > + udz( m, 3, i, j ) * v( 3, i, j, k+1 ) > + udz( m, 4, i, j ) * v( 4, i, j, k+1 ) > + udz( m, 5, i, j ) * v( 5, i, j, k+1 ) ) end do end do end do
![Page 28: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/28.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Automation Challenges
Data Dependence Analysis
call MPI_RECV( dum(1,exc1_jst), ... ) do j=exc1_jst,exc1_jend v(1,exc1_nx+1,j,k) = dum(1,j) v(2,exc1_nx+1,j,k) = dum(2,j) v(3,exc1_nx+1,j,k) = dum(3,j) v(4,exc1_nx+1,j,k) = dum(4,j) v(5,exc1_nx+1,j,k) = dum(5,j) enddo
do j = jend, jst, -1 do i = iend, ist, -1 do m = 1, 5 tv( m, i, j ) = > omega * ( udz( m, 1, i, j ) * v( 1, i, j, k+1 ) > + udz( m, 2, i, j ) * v( 2, i, j, k+1 ) > + udz( m, 3, i, j ) * v( 3, i, j, k+1 ) > + udz( m, 4, i, j ) * v( 4, i, j, k+1 ) > + udz( m, 5, i, j ) * v( 5, i, j, k+1 ) ) end do end do end do
![Page 29: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/29.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Automation Challenges
Data Dependence Analysis
call MPI_RECV( dum(1,exc1_jst), ... ) do j=exc1_jst,exc1_jend v(1,exc1_nx+1,j,k) = dum(1,j) v(2,exc1_nx+1,j,k) = dum(2,j) v(3,exc1_nx+1,j,k) = dum(3,j) v(4,exc1_nx+1,j,k) = dum(4,j) v(5,exc1_nx+1,j,k) = dum(5,j) enddo
do j = jend, jst, -1 do i = iend, ist, -1 do m = 1, 5 tv( m, i, j ) = > omega * ( udz( m, 1, i, j ) * v( 1, i, j, k+1 ) > + udz( m, 2, i, j ) * v( 2, i, j, k+1 ) > + udz( m, 3, i, j ) * v( 3, i, j, k+1 ) > + udz( m, 4, i, j ) * v( 4, i, j, k+1 ) > + udz( m, 5, i, j ) * v( 5, i, j, k+1 ) ) end do end do end do
![Page 30: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/30.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Automation Challenges
Array Access Analysis
call MPI_RECV( dum(1,exc1_jst), ... ) do j=exc1_jst,exc1_jend v(1,exc1_nx+1,j,k) = dum(1,j) v(2,exc1_nx+1,j,k) = dum(2,j) v(3,exc1_nx+1,j,k) = dum(3,j) v(4,exc1_nx+1,j,k) = dum(4,j) v(5,exc1_nx+1,j,k) = dum(5,j) enddo
do j = jend, jst, -1 do i = iend, ist, -1 do m = 1, 5 tv( m, i, j ) = > omega * ( udz( m, 1, i, j ) * v( 1, i, j, k+1 ) > + udz( m, 2, i, j ) * v( 2, i, j, k+1 ) > + udz( m, 3, i, j ) * v( 3, i, j, k+1 ) > + udz( m, 4, i, j ) * v( 4, i, j, k+1 ) > + udz( m, 5, i, j ) * v( 5, i, j, k+1 ) ) end do end do end do
Independent
Independent regions of a single array
![Page 31: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/31.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Automation Challenges
Profitability Analysis
Tile/Buffer Size Matters ✗ Too Big
✔ Just Right
✗ Too Small
![Page 32: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/32.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Questions ?
![Page 33: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/33.jpg)
Motivation Overview Transformations Gravel Automation ChallengesAppendix
University of DelawareAnthony Danalis
Additional Framework Components
![Page 34: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/34.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Surveyor: Using benchmark for tunning (1)
![Page 35: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/35.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Surveyor: Using benchmark for tunning (2)
![Page 36: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/36.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Gravel: Lightweight Communication Library (1)
![Page 37: Automatic MPI application transformation with ASPhALTpollock/471/antony471.pdfHave your cake + Eat your cake Automatic cake making machine. University of Delaware Motivation Overview](https://reader036.vdocuments.site/reader036/viewer/2022062606/5fde37648aebc826eb38076e/html5/thumbnails/37.jpg)
University of Delaware
Motivation Overview Transformations Gravel Automation Challenges
Anthony Danalis
Gravel: Lightweight Communication Library (2)