OSL: A Compiler and Runtime for Data Parallel Python - Par Lab

Post on 11-Feb-2022

8 views 0 download

Transcript of OSL: A Compiler and Runtime for Data Parallel Python - Par Lab

OSL: A Compiler and Runtime for Data Parallel Python 

Yunsup Lee Bryan Catanzaro and Yong‐Jin Kwon 

!"#$%&'()'*++,-)%.(/01%

•! 23*4%50%6789%–! :30%;'()'*++,-)%+(/01%0-<(='*)0>%430%;'()'*++0'%4(%5',40%><*1*?10%<(/0%

–!@,)3%;0'A('+*-<0%,>%;(>>,?10%

•! 23*4%50%#7B6789%–!@*'/%4(%/0?=)%C0'-01%<(/0%

•! 2011D%*%1(4%(A%;0(;10%=>0%E;',-4AF>%4(%/0?=)G%

–!H1(?*1%>I-<3'(-,J*4,(-%,>%3*'/%4(%;'()'*+%

–! 9K;1(,4,-)%430%H&"L>%+0+('I%3,0'*'<3I%0M<,0-41I%,>%3*'/%

–!!N!OO%,>%-(4%3,)31I%;'(/=<4,P0%

!"#$%&'()*+%,-./012'34%,5-5**4*%

,-.(-566'7(%#57(05(4%

•! ,+2).7%'8%)'()*+%9-./012'34%

–!:.7;2%)534%2.%<.--+%5=.02%2+948%.-%/41*5-52'.78%

–!>5224-'48%'71*0/4/%

•! ?4%<572%2.%=-'7(%,+2).7;8%9-./012'3'2+%2.%@,A%9-.(-566'7(%

–!B**.<%5-='2-5-+%,+2).7%1./4%2.%=4%'724(-524/%<'2)%)'()%94-C.-65714%80=842%.C%,+2).7%1./4%

–!D.69'*4%2)'8%80=842%.C%,+2).7%1./4%2.%@,A%

–!A84%,+2).7%58%57%460*52.-%C.-%/4=0(('7(%

!"#$%&'(&)**+,($-'./0$

!"#$%&'(&#)*+*)#)*'

,'-./0')1#)&2(%&2'

3!.'

-./0'4)*&)52'

-./0'678'9%:+(5)*'

;+"9<=>?'

!"#$%&'-%=)'

@%*:>5'

+"#$%&'

0&&%#>#)='

+"#$%&'

!"#$%&'#%'-./0'

-%=)'A)&)*>#%*'

-./0'B(&=(&A2'

;+"9<=>?'

-C/D'

/080'

!"#$%&'&(()($*'+,+-+.)/$

•! !"#$%&'(0&''&12$3(-)'/2$&'45,)6-/7$–! "+,+(&'$-8$9,&*:$–! &''&1;$)<*(&+6)=$86$->)$6)<-$/(+=)$

–! 3(-)'/;$&$(+/-$8?$•! 3(-)'0&''&12$)(),)6-2$@=+,A2$@*8/+-+86A2$&'45,)6-/7$

•! B-$>&/$&CC)//$-8$->)$*))'/D$)(),)6-/$

–! &'45,)6-/$;$&$(+/-$8?$&61$-1*)$

•! %)"*#+,%#(0(&E)(/2$&''&12$')=8*2$&'45,)6-/7$–! "+,+(&'$-8$9')=5C):$

–! (&E)(/2$&''&1;$)<*(&+6)=$86$->)$6)<-$/(+=)$–! F)=5C-+86$8*)'&-8'$

•! ')=8*0)(),)6-&2$)(),)6-E7$

•! G8,,5-&-+.)2$&//8C+&-+.) $$

–! &'45,)6-/$;$&$(+/-$8?$&61$-1*)$

!"#$%&'$()*+,-.$

!"#"$%&'!"#$%&(")*"

+"#"$%&'!"#$%'("!*"

,-."!"#$%&'-/-$-01*2"

,-."!"#$%''-/-$-01*2"

)"

!"

+"

)"

!"

+"

!"#$%&(

!"#$%'(

!"#$%&(

!"#$%'(

3/1-45"#"6!"#$%&("!"#$%'7"

%489$-015"#"6:7"

+"#")#$*+,"')("3/1-45("%489$-015*"

,-."!"#$%&'%44%;("-/-$-01("6/-081<7("6=7("%489$-015*2"

,-."!"#$%''%44%;("-/-$-01("6/-081<7("6=7("%489$-015*2"

!"#$%"&'()&*+,!"#$%"&

!"

#$%&'("

!"#$%&

#$%&'(")"#$*&+$,!"#$%-"!."

*$/"!"#$%,$'$0$1(2-"$'$0$1(3.4"

!"

5" 6" 6" 5" 7"'23$'%"

#$%&'(%"

2#8&0$1(%")"9:;"

#$%&'(%")"+2(#$*&+$,'23$'%-"!-"!"#$%-"2#8&0$1(%."

*$/"!"#$%,$'$0$1(2-"$'$0$1(3-"2#8&0$1(%.4"

!"#$%&

!"#$%&'($

!"#$%%&%!"#$%'()*#%+,-#%./*0+-"*%'-1,+%2/*%"*%+,(%345%'()$*+,-./$012$$&%678%#/99"2+#%-*+(292"0(:/2)$%-*.(2(*0(%

$+)$.$3$02$4(564,$0$$(78(2$4(564,$.$

!"#$%'()$975(4-.44.:/$(7(*(,5/$;<(+=<5/$>+'5<?/$;:/$@?/$.4=6*(,5812$

$A.7$B$($('(*+%$+)$C$D$;2$A.7$B$'-*-A.7/$)22);<;=>?<@?1$

$+)$;$D$,(-1,+EF2$A.7$B$'-*-A.7/$)22);<;A>?<@?1$

$+)$C$D$@2$A.7$B$'-*-A.7/$)22);<;?<@=>?1$$+)$@$D$B-:+,EF2$A.7$B$'-*-A.7/$)22);<;?<@A>?1$

$4(564,$A.7$

!"#$%

!"#$C*+2;%%&%!"#$C*+2;%'()*#%(@(0/+(%+,-#%"*%+,(%345D%-.%;"/%$()E(%+,-#%"/+%+,-#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%-#%E)$-:%4;+,"*%0":(%+,)+%B"/$:%92":/0(%+,(%#)'(%2(#/$+%FG/+%#$"BH%

'()$G(4,(7-H+@(7812$$4(564,$85(,I+7-H+@(78/$;975(4?/$;?1$

!"#"$%&'&()*++,-%".-/')01-2&')3&$&"1%4)

!"#$%&

'()*%+,&

'(-(+./#0%&

1%2,().3&

45"%#).&

1%2,6+%&

7+#89%),&

'(":9)%&

;()5"#2&

.6//+%..9()&

!),%+*%)9)$&'(),(6+&

7%)%+#-9<%8&

=9$%).(-*%+&

>+9%),%8&=)%+$?&

'(":9)#@()&

'(":9)%A&;(+"#-9<%&

'(),(6+.&

B$& '$#& '$:&

!"#$%&#'()*+%+,-%-&.(

!"

#"

$!"

$#"

%!"

%#"

&!"

&#"

'!"

'#"

()!!"*+%",$-"./0123" 41256"7$!-!",&!"./0123"

!"#$%&'(

)$#*+#,"'(

4849:" *;<" =>9?@A8>B"

$"

$!"

$!!"

$!!!"

$!!!!"

$!!!!!"

;C4D8E" 8F:",&!"./0123" 7",)"./0123" 7<G9",&!"./0123"!"#$%&'(

)$#*+#,"'(

•!";C4D8EH"$"./01"E1I651J"

•!"8F:H"&!"./01"41256"7$!-!"

•!"7"K"LMI016N2H")"./01"O60.15/P6"

•!"7<G9H"&!"./01"41256"7$!-!"

•!"QPM1012RPS"7/JL60T2/P2H""

•!"$!!!U"V62M10"MI6P"210T65"LWMI/P"

•!"$#U"25/X10"MI6P"I6PN"7<G9"

•!"=06J1X/0Y"/Z10I16NH"

•!"7/JLT56R/P["G6M6"J/Z1J1PM"

•!"\7/P2M6PM["]^M"2TSPT_.6PM"

•!"7<G9"7/JLT56R/P"M6Y12"\#"21.`"

TV"X1"JT22".6.I1"

•!";6065515"2.656]T5TMW"T2"S//N"

•!"8]210Z1"&`a#U"

•!"J6U"$`)U"V0/J"L6065515T2J"

•!"/MI10"2L11N^L"V0/J"60.I`"