Update HIP definition (#2134)
* Update what is hip * Update HIP runtime page * Update images * Remove omnitrace * Quick fix * Feedback fixes * Minor fixes * Update SAXPY tutorial Signed-off-by: Jan Stephan <jan.stephan@amd.com> --------- Signed-off-by: Jan Stephan <jan.stephan@amd.com> Co-authored-by: Adel Johar <adel.johar@amd.com> Co-authored-by: Jan Stephan <jan.stephan@amd.com>
이 커밋은 다음에 포함됨:
@@ -1,125 +1,71 @@
|
||||
<mxfile host="65bd71144e">
|
||||
<diagram id="zBbb_w2fufU70cdOGtND" name="1 oldal">
|
||||
<mxGraphModel dx="1584" dy="1200" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="660" pageHeight="610" background="none" math="0" shadow="0">
|
||||
<mxGraphModel dx="1438" dy="1349" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="660" pageHeight="610" background="none" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="5927" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#5E5B61;fontColor=#FFFFFF;strokeColor=none;spacing=0;" parent="1" vertex="1">
|
||||
<mxGeometry y="-30" width="680" height="380" as="geometry"/>
|
||||
<mxCell id="5927" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#342C3B;fontColor=#FFFFFF;strokeColor=none;spacing=0;arcSize=6;glass=0;shadow=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="280" y="-70" width="460" height="470" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5945" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#C23555;fontColor=#FFFFFF;strokeColor=#A20025;" parent="1" vertex="1">
|
||||
<mxGeometry x="10" y="-10" width="660" height="30" as="geometry"/>
|
||||
<mxCell id="5945" value="" style="whiteSpace=wrap;html=1;fontSize=16;fontFamily=Verdana;rounded=1;strokeColor=#ff2424;fillStyle=solid;fontColor=#F0F0F0;fillColor=#272130;" parent="1" vertex="1">
|
||||
<mxGeometry x="340" y="-10" width="340" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5946" value="<font face="Helvetica">HIP Runtime API</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="1" vertex="1">
|
||||
<mxGeometry x="75" y="-10" width="530" height="30" as="geometry"/>
|
||||
<mxCell id="5946" value="<font style="color: rgb(255, 255, 255);" face="Helvetica">HIP Runtime API</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="1" vertex="1">
|
||||
<mxGeometry x="360" y="-10" width="300" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="UvHuP5o6jSuoLTm0AUZA-5953" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="10" y="80" width="330" height="260" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5925" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#333333;fontColor=#FFFFFF;strokeColor=none;" parent="UvHuP5o6jSuoLTm0AUZA-5953" vertex="1">
|
||||
<mxGeometry width="330" height="260" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="UvHuP5o6jSuoLTm0AUZA-5952" value="" style="group" parent="UvHuP5o6jSuoLTm0AUZA-5953" vertex="1" connectable="0">
|
||||
<mxGeometry x="16.67" y="190.00279999999998" width="293.33" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="UvHuP5o6jSuoLTm0AUZA-5950" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="UvHuP5o6jSuoLTm0AUZA-5952" vertex="1">
|
||||
<mxGeometry width="293.33000000000004" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="UvHuP5o6jSuoLTm0AUZA-5951" value="<div>CUDA Driver API</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="UvHuP5o6jSuoLTm0AUZA-5952" vertex="1">
|
||||
<mxGeometry x="10.9643478387712" y="7.500000000000001" width="266.79913074343256" height="30.000000000000004" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5948" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.358;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#FFFFFF;" parent="UvHuP5o6jSuoLTm0AUZA-5953" source="5967" target="UvHuP5o6jSuoLTm0AUZA-5950" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="103.33500000000004" y="108.22000000000003" as="sourcePoint"/>
|
||||
<mxPoint x="85" y="145.6" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="5966" value="" style="group" parent="UvHuP5o6jSuoLTm0AUZA-5953" vertex="1" connectable="0">
|
||||
<mxGeometry x="16.670000000000016" y="64" width="210" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5967" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="5966" vertex="1">
|
||||
<mxGeometry width="210.00000000000003" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5968" value="<div>CUDA runtime</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="5966" vertex="1">
|
||||
<mxGeometry x="9.499565493273565" y="7.499999999999974" width="191.0060936696582" height="29.999999999999996" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="UvHuP5o6jSuoLTm0AUZA-5982" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;strokeColor=#FFFFFF;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="270" y="60" as="sourcePoint"/>
|
||||
<mxPoint x="270" y="270" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="UvHuP5o6jSuoLTm0AUZA-5955" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#333333;fontColor=#FFFFFF;strokeColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="350" y="80" width="320" height="260" as="geometry"/>
|
||||
<mxCell id="UvHuP5o6jSuoLTm0AUZA-5955" value="" style="whiteSpace=wrap;html=1;fontSize=16;fontFamily=Verdana;rounded=1;verticalAlign=top;strokeColor=#ff2424;fillColor=#781414;fontColor=#F0F0F0;arcSize=6;" parent="1" vertex="1">
|
||||
<mxGeometry x="340" y="80" width="340" height="260" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5955" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="360" y="270" width="140" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5956" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#C23555;fontColor=#FFFFFF;strokeColor=#A20025;" parent="5955" vertex="1">
|
||||
<mxCell id="5956" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#431111;fontColor=#FFFFFF;strokeColor=#FF2424;glass=0;" parent="5955" vertex="1">
|
||||
<mxGeometry width="140.00000000000003" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5957" value="<div>ROCr runtime</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="5955" vertex="1">
|
||||
<mxCell id="5957" value="<div><font style="color: rgb(255, 255, 255);">ROCr runtime</font></div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="5955" vertex="1">
|
||||
<mxGeometry x="2.51" y="8.75" width="134.99" height="27.5" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5958" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="520" y="270" width="140" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5959" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#C23555;fontColor=#FFFFFF;strokeColor=#A20025;" parent="5958" vertex="1">
|
||||
<mxCell id="5959" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#431111;fontColor=#FFFFFF;strokeColor=#FF2424;glass=0;" parent="5958" vertex="1">
|
||||
<mxGeometry width="140.00000000000003" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5960" value="<div>PAL</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="5958" vertex="1">
|
||||
<mxCell id="5960" value="<div><font style="color: rgb(255, 255, 255);">PAL</font></div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="5958" vertex="1">
|
||||
<mxGeometry x="5.233043662182416" y="7.499999999999999" width="127.33739577977217" height="29.999999999999996" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5962" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="405" y="144.91" width="210" height="45" as="geometry"/>
|
||||
<mxGeometry x="420" y="172.91" width="240" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5963" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#C23555;fontColor=#FFFFFF;strokeColor=#A20025;" parent="5962" vertex="1">
|
||||
<mxGeometry width="210.00000000000003" height="45" as="geometry"/>
|
||||
<mxCell id="5963" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#431111;fontColor=#FFFFFF;strokeColor=#FF2424;glass=0;" parent="5962" vertex="1">
|
||||
<mxGeometry x="-60" width="300" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5964" value="<div>CLR</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="5962" vertex="1">
|
||||
<mxGeometry x="7.849565493273624" y="7.499999999999999" width="191.0060936696582" height="29.999999999999996" as="geometry"/>
|
||||
<mxCell id="5964" value="<div><font style="color: rgb(255, 255, 255);">CLR</font></div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="5962" vertex="1">
|
||||
<mxGeometry x="0.228591563677206" y="7.499999999999999" width="179.5457280494787" height="29.999999999999996" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5965" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FFFFFF;exitX=0.823;exitY=1.047;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="5963" edge="1" source="5946">
|
||||
<mxCell id="5965" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=1;startFill=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FFFFFF;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="5946" target="5963" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="510" y="60" as="sourcePoint"/>
|
||||
<mxPoint x="640" y="290" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="5969" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;strokeColor=#FFFFFF;" parent="1" edge="1">
|
||||
<mxCell id="5969" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=1;startFill=0;strokeColor=#FFFFFF;exitX=0.762;exitY=1.014;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.545;entryY=0.027;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="5963" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="570" y="190" as="sourcePoint"/>
|
||||
<mxPoint x="570" y="270" as="targetPoint"/>
|
||||
<mxPoint x="588.5" y="217.41499999999996" as="sourcePoint"/>
|
||||
<mxPoint x="589.3" y="271.2149999999999" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="5971" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;strokeColor=#FFFFFF;entryX=0.661;entryY=0.007;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="5956" edge="1">
|
||||
<mxCell id="5971" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=1;startFill=0;strokeColor=#FFFFFF;entryX=0.487;entryY=0.014;entryDx=0;entryDy=0;exitX=0.228;exitY=1.003;exitDx=0;exitDy=0;exitPerimeter=0;entryPerimeter=0;" parent="1" source="5963" target="5956" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="453" y="190" as="sourcePoint"/>
|
||||
<mxPoint x="453" y="220" as="sourcePoint"/>
|
||||
<mxPoint x="450" y="270" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="UvHuP5o6jSuoLTm0AUZA-5981" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FFFFFF;" parent="1" target="5967" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="132" y="60" as="sourcePoint"/>
|
||||
<mxPoint x="95" y="140" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
<mxCell id="5972" value="" style="whiteSpace=wrap;html=1;strokeColor=none;fillColor=light-dark(#FFFFFF,#EDEDED);rounded=1;arcSize=27;" parent="1" vertex="1">
|
||||
<mxGeometry x="450" y="113" width="120" height="24" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="UvHuP5o6jSuoLTm0AUZA-5957" value="<font face="Helvetica"><span style="background-color: rgb(77, 77, 77);">AMD Platform</span><br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="1" vertex="1">
|
||||
<mxGeometry x="440" y="84" width="140" height="30" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5926" value="<font style="background-color: rgb(77, 77, 77);">NVIDIA Platform</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="1" vertex="1">
|
||||
<mxGeometry x="10" y="80" width="330" height="34.0392" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5973" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#C23555;fontColor=#FFFFFF;strokeColor=#A20025;" vertex="1" parent="1">
|
||||
<mxGeometry x="10" y="40" width="330" height="30" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5975" value="<font face="Helvetica">hipother</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" vertex="1" parent="1">
|
||||
<mxGeometry x="10" y="40" width="330" height="30" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5976" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;strokeColor=#FFFFFF;exitX=0.823;exitY=1.047;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="175.59000000000003" y="20.00000000000008" as="sourcePoint"/>
|
||||
<mxPoint x="176" y="40" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
<mxCell id="UvHuP5o6jSuoLTm0AUZA-5957" value="<font face="Helvetica"><span><font style="color: rgb(197, 38, 38);">&nbsp;AMD Platform&nbsp;</font></span><br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="1" vertex="1">
|
||||
<mxGeometry x="440" y="110" width="140" height="30" as="geometry"/>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
|
||||
하나 이상의 라인이 너무 길어 파일 Diff가 표시되지 않음
|
이전 너비: | 높이: | 크기: 14 KiB 이후 너비: | 높이: | 크기: 11 KiB |
@@ -1,155 +1,105 @@
|
||||
<mxfile host="65bd71144e">
|
||||
<diagram id="zBbb_w2fufU70cdOGtND" name="1 oldal">
|
||||
<mxGraphModel dx="1547" dy="1302" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="660" pageHeight="610" background="none" math="0" shadow="0">
|
||||
<mxGraphModel dx="1726" dy="1539" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="660" pageHeight="610" background="none" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="6033" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#5E5B61;fontColor=#FFFFFF;strokeColor=none;spacing=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="110" y="-320" width="480" height="490" as="geometry"/>
|
||||
<mxCell id="6033" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#342C3B;fontColor=#FFFFFF;strokeColor=none;spacing=0;arcSize=6;" parent="1" vertex="1">
|
||||
<mxGeometry x="160" y="-340" width="560" height="560" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5981" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="130" y="60" width="210" height="90" as="geometry"/>
|
||||
<mxCell id="5988" value="" style="whiteSpace=wrap;html=1;fontSize=16;fontFamily=Verdana;rounded=1;strokeColor=#ff2424;fillStyle=solid;fontColor=#F0F0F0;fillColor=#272130;" parent="1" vertex="1">
|
||||
<mxGeometry x="200" y="-23" width="480" height="63" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5982" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#333333;fontColor=#FFFFFF;strokeColor=none;" parent="5981" vertex="1">
|
||||
<mxGeometry width="210" height="90" as="geometry"/>
|
||||
<mxCell id="5989" value="<font face="Helvetica" style="font-size: 14px; color: rgb(255, 255, 255);">HIP</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;strokeWidth=2;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="284" y="-3" width="320" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5983" value="" style="group" parent="5981" vertex="1" connectable="0">
|
||||
<mxGeometry x="7.7419872652362365" y="8" width="192.50000000000003" height="45" as="geometry"/>
|
||||
<mxCell id="5990" value="" style="whiteSpace=wrap;html=1;fontSize=16;fontFamily=Verdana;rounded=1;verticalAlign=top;strokeColor=#ff2424;fillColor=#8F1414;fontColor=#F0F0F0;" parent="1" vertex="1">
|
||||
<mxGeometry x="200" y="68" width="480" height="110" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5984" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="5983" vertex="1">
|
||||
<mxGeometry y="2" width="192.50000000000003" height="45" as="geometry"/>
|
||||
<mxCell id="5991" value="" style="whiteSpace=wrap;html=1;fontSize=16;fontFamily=Verdana;rounded=1;strokeColor=#ff2424;fillStyle=solid;fontColor=#F0F0F0;fillColor=#431111;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="220" y="78" width="450" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5985" value="<div>NVIDIA runtime</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="5983" vertex="1">
|
||||
<mxGeometry x="11.998194444444442" y="13.01" width="168.50166666666664" height="18.99" as="geometry"/>
|
||||
<mxCell id="5992" value="" style="whiteSpace=wrap;html=1;fontSize=16;fontFamily=Verdana;rounded=1;strokeColor=#ff2424;fillStyle=solid;fontColor=#F0F0F0;fillColor=#431111;" parent="5991" vertex="1">
|
||||
<mxGeometry x="-9.57" width="459.57" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5986" value="<font style="">NVIDIA Platform</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="5981" vertex="1">
|
||||
<mxGeometry x="40" y="63" width="130" height="20" as="geometry"/>
|
||||
<mxCell id="5993" value="<div><font style="color: rgb(255, 255, 255);">AMD runtime</font></div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#ffffff;" parent="5991" vertex="1">
|
||||
<mxGeometry x="76.12249594696678" y="11.7042" width="288.1851063829787" height="27.997199999999992" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5987" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;strokeColor=#FFFFFF;" parent="1" edge="1">
|
||||
<mxCell id="5994" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=1;startFill=0;strokeColor=#FFFFFF;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="5988" target="5992" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="315" y="45" as="sourcePoint"/>
|
||||
<mxPoint x="315" y="70" as="targetPoint"/>
|
||||
<mxPoint x="456" y="38" as="sourcePoint"/>
|
||||
<mxPoint x="470" y="64" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="5988" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#9C2A44;fontColor=#FFFFFF;strokeColor=#4c1523;strokeWidth=5;" parent="1" vertex="1">
|
||||
<mxGeometry x="300" y="-17" width="260" height="60" as="geometry"/>
|
||||
<mxCell id="5995" value="<font face="Helvetica"><font style="color: rgb(255, 255, 255);">AMD Platform</font><br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="290" y="143" width="300" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5989" value="<font style="font-size: 14px;" face="Helvetica">HIP</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;strokeWidth=2;" parent="1" vertex="1">
|
||||
<mxGeometry x="300" y="-17" width="260" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5990" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#333333;fontColor=#FFFFFF;strokeColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="350" y="60" width="210" height="90" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5991" value="" style="group;fillColor=#A50040;fontColor=#ffffff;strokeColor=none;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="360" y="70" width="192" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5992" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#962744;fontColor=#FFFFFF;strokeColor=none;" parent="5991" vertex="1">
|
||||
<mxGeometry width="192.00000000000003" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5993" value="<div>AMD runtime</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#ffffff;" parent="5991" vertex="1">
|
||||
<mxGeometry x="8.638736842105262" y="7.497" width="174.72" height="29.996999999999993" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5994" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;strokeColor=#FFFFFF;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="5992" edge="1">
|
||||
<mxCell id="6003" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=1;startFill=0;strokeColor=#FFFFFF;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.229;entryY=0.02;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="6005" target="5988" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="456" y="44" as="sourcePoint"/>
|
||||
<mxPoint x="470" y="70" as="targetPoint"/>
|
||||
<mxPoint x="309.5" y="-110" as="sourcePoint"/>
|
||||
<mxPoint x="310" y="-26" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="5995" value="<font face="Helvetica">AMD Platform<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="1" vertex="1">
|
||||
<mxGeometry x="365" y="123" width="180" height="20" as="geometry"/>
|
||||
<mxCell id="6004" value="" style="whiteSpace=wrap;html=1;fontSize=16;fontFamily=Verdana;rounded=1;strokeColor=#ff2424;fillStyle=solid;fontColor=#F0F0F0;fillColor=#272130;" parent="1" vertex="1">
|
||||
<mxGeometry x="200" y="-167" width="220" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6003" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;strokeColor=#FFFFFF;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.855;entryY=-0.018;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="6000" edge="1">
|
||||
<mxCell id="6005" value="<font style="color: rgb(255, 255, 255);" face="Helvetica">hipLibrary</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#ffffff;dashed=1;strokeWidth=2;" parent="1" vertex="1">
|
||||
<mxGeometry x="240" y="-167" width="140" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6007" value="" style="group;dashed=1;strokeWidth=2;strokeColor=none;shadow=0;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="325" y="-95" width="230" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6008" value="" style="whiteSpace=wrap;html=1;fontSize=16;fontFamily=Verdana;rounded=1;verticalAlign=top;strokeColor=#ff2424;fillColor=#8F1414;fontColor=#F0F0F0;" parent="6007" vertex="1">
|
||||
<mxGeometry width="230" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6009" value="<div><font style="color: rgb(255, 255, 255);">rocLibrary</font></div>" style="whiteSpace=wrap;html=1;fontSize=16;fontFamily=Verdana;rounded=1;strokeColor=#ff2424;fillStyle=solid;fontColor=#F0F0F0;fillColor=#272130;" parent="6007" vertex="1">
|
||||
<mxGeometry width="230" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6010" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=1;startFill=0;strokeColor=#FFFFFF;exitX=0.986;exitY=1;exitDx=0;exitDy=0;entryX=0.234;entryY=0.021;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" parent="1" source="6005" target="6009" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="309.5" y="-104" as="sourcePoint"/>
|
||||
<mxPoint x="309.55999999999995" y="-60.975106382978765" as="targetPoint"/>
|
||||
<mxPoint x="386" y="-111" as="sourcePoint"/>
|
||||
<mxPoint x="370" y="-86" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="6004" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#9C2A44;fontColor=#FFFFFF;strokeColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="274.5" y="-150" width="140" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6005" value="<font face="Helvetica">hipLibrary</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#ffffff;dashed=1;strokeWidth=2;" parent="1" vertex="1">
|
||||
<mxGeometry x="274.5" y="-150" width="140" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6007" value="" style="group;dashed=1;strokeWidth=2;strokeColor=none;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="360" y="-80" width="140" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6008" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#962744;fontColor=#FFFFFF;strokeColor=none;dashed=1;strokeWidth=2;" parent="6007" vertex="1">
|
||||
<mxGeometry width="140.00000000000003" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6009" value="<div>rocLibrary</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="6007" vertex="1">
|
||||
<mxGeometry x="6.299078947368418" y="7.497" width="127.39999999999998" height="29.996999999999993" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6010" value="" style="endArrow=classic;startArrow=none;html=1;rounded=0;strokeWidth=2;startFill=0;strokeColor=#FFFFFF;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="386" y="-105" as="sourcePoint"/>
|
||||
<mxPoint x="386" y="-80" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="5999" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="190" y="-80" width="140" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6000" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="5999" vertex="1">
|
||||
<mxGeometry y="-0.005106382978723234" width="140" height="45" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6001" value="<div>cuLibrary</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="5999" vertex="1">
|
||||
<mxGeometry x="10.019288676236041" y="13.404255319148938" width="119.9667368421052" height="18.18191489361702" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6013" style="edgeStyle=none;html=1;strokeWidth=2;strokeColor=#FFFFFF;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="5984" edge="1">
|
||||
<mxCell id="6014" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=2;strokeColor=#FFFFFF;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="6009" target="5988" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="234" y="-35" as="sourcePoint"/>
|
||||
<mxPoint x="220" y="60" as="targetPoint"/>
|
||||
<mxPoint x="430" y="-25" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="6014" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=2;strokeColor=#FFFFFF;" parent="1" source="6008" edge="1">
|
||||
<mxCell id="6025" value="" style="group;strokeColor=none;dashed=1;strokeWidth=2;fontStyle=1" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="200" y="-260" width="480" height="65" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6023" value="" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fontFamily=Verdana;fillStyle=solid;fontColor=#F0F0F0;fillColor=#272130;strokeColor=#F0F0F0;" parent="6025" vertex="1">
|
||||
<mxGeometry width="480.00000000000006" height="65" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6024" value="<div><font style="color: rgb(255, 255, 255);">Application Implementation</font></div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;fontStyle=1" parent="6025" vertex="1">
|
||||
<mxGeometry x="120" y="28.561" width="240" height="7.878" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6029" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=1;exitX=0.23;exitY=1.004;exitDx=0;exitDy=0;strokeColor=#FFFFFF;exitPerimeter=0;" parent="1" source="6023" target="6005" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="430" y="-19" as="targetPoint"/>
|
||||
<mxPoint x="320" y="-196" as="sourcePoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="6025" value="" style="group;strokeColor=none;dashed=1;strokeWidth=2;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="129.5" y="-290" width="430" height="100" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6023" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#333333;fontColor=#FFFFFF;strokeColor=none;spacing=0;" parent="6025" vertex="1">
|
||||
<mxGeometry width="430" height="100" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6024" value="<div>Application Implementation</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="6025" vertex="1">
|
||||
<mxGeometry x="97.50999999999999" y="43.93999999999998" width="234.99" height="12.120000000000001" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6026" style="edgeStyle=none;html=1;entryX=0.148;entryY=0.008;entryDx=0;entryDy=0;strokeWidth=2;entryPerimeter=0;strokeColor=#FFFFFF;" parent="1" target="5984" edge="1">
|
||||
<mxCell id="6030" style="edgeStyle=none;html=1;strokeWidth=1;strokeColor=#FFFFFF;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="6023" target="6009" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="166" y="-190" as="sourcePoint"/>
|
||||
<mxPoint x="159.99598908448831" y="-94.12" as="targetPoint"/>
|
||||
<mxPoint x="452" y="-86" as="targetPoint"/>
|
||||
<mxPoint x="455" y="-196" as="sourcePoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="6027" style="edgeStyle=none;html=1;strokeWidth=2;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#FFFFFF;" parent="1" edge="1">
|
||||
<mxCell id="6031" style="edgeStyle=none;html=1;strokeWidth=1;strokeColor=#FFFFFF;entryX=0.775;entryY=-0.013;entryDx=0;entryDy=0;exitX=0.773;exitY=1.002;exitDx=0;exitDy=0;exitPerimeter=0;entryPerimeter=0;" parent="1" source="6023" target="5988" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="260" y="-190" as="sourcePoint"/>
|
||||
<mxPoint x="260" y="-80.00510638297874" as="targetPoint"/>
|
||||
<mxPoint x="520" y="-25" as="targetPoint"/>
|
||||
<mxPoint x="560" y="-190" as="sourcePoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="6029" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=2;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeColor=#FFFFFF;" parent="1" source="6023" target="6005" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="320" y="-190" as="sourcePoint"/>
|
||||
</mxGeometry>
|
||||
<mxCell id="6034" value="<div><font style="color: rgb(112, 95, 127);">Application</font></div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=25;fontColor=#FFFFFF;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="327.5" y="-299" width="234.99" height="12.120000000000001" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6030" style="edgeStyle=none;html=1;strokeWidth=2;strokeColor=#FFFFFF;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="6008" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="452" y="-80" as="targetPoint"/>
|
||||
<mxPoint x="430" y="-190" as="sourcePoint"/>
|
||||
</mxGeometry>
|
||||
<mxCell id="6035" value="runtime API" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#431111;fontColor=#FFFFFF;strokeColor=#FF2424;glass=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="252" y="-11" width="115" height="37" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6031" style="edgeStyle=none;html=1;exitX=0.912;exitY=1.013;exitDx=0;exitDy=0;strokeWidth=2;exitPerimeter=0;strokeColor=#FFFFFF;" parent="1" source="6023" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="520" y="-19" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="6034" value="<div>Application</div>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=17;fontColor=#FFFFFF;" parent="1" vertex="1">
|
||||
<mxGeometry x="232.5" y="-310" width="234.99" height="12.120000000000001" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6035" value="runtime API" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4F1623;fontColor=#FFFFFF;strokeColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="310" y="3" width="115" height="30" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6036" value="kernel language" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#4F1623;fontColor=#FFFFFF;strokeColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="437" y="3" width="115" height="30" as="geometry"/>
|
||||
<mxCell id="6036" value="kernel language" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#431111;fontColor=#FFFFFF;strokeColor=#FF2424;" parent="1" vertex="1">
|
||||
<mxGeometry x="517" y="-11" width="115" height="37" as="geometry"/>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
|
||||
하나 이상의 라인이 너무 길어 파일 Diff가 표시되지 않음
|
이전 너비: | 높이: | 크기: 18 KiB 이후 너비: | 높이: | 크기: 18 KiB |
@@ -1,6 +1,6 @@
|
||||
.. meta::
|
||||
:description: HIP runtime API usage
|
||||
:keywords: AMD, ROCm, HIP, CUDA, HIP runtime API How to,
|
||||
:keywords: AMD, ROCm, HIP, HIP runtime API How to,
|
||||
|
||||
.. _hip_runtime_api_how-to:
|
||||
|
||||
@@ -9,32 +9,20 @@ Using HIP runtime API
|
||||
********************************************************************************
|
||||
|
||||
The HIP runtime API provides C and C++ functionalities to manage event, stream,
|
||||
and memory on GPUs. On the AMD platform, the HIP runtime uses
|
||||
:doc:`Compute Language Runtime (CLR) <../understand/amd_clr>`, while on NVIDIA
|
||||
CUDA platform, it is only a thin layer over the CUDA runtime or Driver API.
|
||||
and memory on GPUs. The HIP runtime uses :doc:`Compute Language Runtime (CLR) <../understand/amd_clr>`.
|
||||
|
||||
- **CLR** contains source code for AMD's compute language runtimes: ``HIP`` and
|
||||
``OpenCL™``. CLR includes the ``HIP`` implementation on the AMD
|
||||
platform: `hipamd <https://github.com/ROCm/rocm-systems/tree/develop/projects/clr/hipamd>`_ and the
|
||||
ROCm Compute Language Runtime (``rocclr``). ``rocclr`` is a
|
||||
virtual device interface that enables the HIP runtime to interact with
|
||||
different backends such as :doc:`ROCr <rocr-runtime:index>` on Linux or PAL on
|
||||
Windows. CLR also includes the `OpenCL runtime <https://github.com/ROCm/rocm-systems/tree/develop/projects/clr/opencl>`_
|
||||
implementation.
|
||||
- The **CUDA runtime** is built on top of the CUDA driver API, which is a C API
|
||||
with lower-level access to NVIDIA GPUs. For details about the CUDA driver and
|
||||
runtime API with reference to HIP, see :doc:`CUDA driver API porting guide <../how-to/hip_porting_driver_api>`.
|
||||
CLR contains source code for AMD ROCm's compute language runtimes: ``HIP`` and
|
||||
``OpenCL™``. CLR includes the ``HIP`` implementation on the AMD ROCm
|
||||
platform: `hipamd <https://github.com/ROCm/rocm-systems/tree/develop/projects/clr/hipamd>`_ and the
|
||||
ROCm Compute Language Runtime (``rocclr``). ``rocclr`` is a
|
||||
virtual device interface that enables the HIP runtime to interact with
|
||||
different backends, such as :doc:`ROCr <rocr-runtime:index>` on Linux or PAL on
|
||||
Microsoft Windows. CLR also includes the `OpenCL runtime <https://github.com/ROCm/rocm-systems/tree/develop/projects/clr/opencl>`_
|
||||
implementation.
|
||||
|
||||
The backends of HIP runtime API under AMD and NVIDIA platform are summarized in
|
||||
the following figure:
|
||||
The HIP runtime API backends are summarized in the following figure:
|
||||
|
||||
.. figure:: ../data/how-to/hip_runtime_api/runtimes.svg
|
||||
|
||||
.. note::
|
||||
|
||||
On NVIDIA platform HIP runtime API calls CUDA runtime or CUDA driver via
|
||||
hipother interface. For more information, see the `hipother repository <https://github.com/ROCm/rocm-systems/tree/develop/projects/hipother>`_.
|
||||
|
||||
Here are the various HIP Runtime API high level functions:
|
||||
|
||||
* :doc:`./hip_runtime_api/initialization`
|
||||
|
||||
@@ -16,12 +16,6 @@ subtrees:
|
||||
title: Installing HIP
|
||||
- file: install/build
|
||||
title: Building HIP from source
|
||||
- url: https://rocm.docs.amd.com/projects/install-on-linux/en/${branch}/reference/system-requirements.html
|
||||
title: Linux supported AMD GPUs
|
||||
- url: https://rocm.docs.amd.com/projects/install-on-windows/en/${branch}/reference/system-requirements.html
|
||||
title: Windows supported AMD GPUs
|
||||
- url: https://developer.nvidia.com/cuda-gpus
|
||||
title: NVIDIA supported GPUs
|
||||
|
||||
- caption: Programming guide
|
||||
entries:
|
||||
|
||||
@@ -16,11 +16,10 @@ Prerequisites
|
||||
=============
|
||||
|
||||
To follow this tutorial, you'll need installed drivers and a HIP compiler
|
||||
toolchain to compile your code. Because HIP for ROCm supports compiling and
|
||||
running on Linux and Windows with AMD and NVIDIA GPUs, the combination of
|
||||
install instructions is more than worth covering as part of this tutorial. For
|
||||
more information about installing HIP development packages, see
|
||||
:doc:`/install/install`.
|
||||
toolchain to compile your code. Because HIP supports compiling and running on
|
||||
Linux and Windows with AMD GPUs, the install instructions are more than worth
|
||||
covering as part of this tutorial. For more information about
|
||||
installing HIP development packages, see :doc:`/install/install`.
|
||||
|
||||
.. _hip-tutorial-saxpy-heterogeneous-programming:
|
||||
|
||||
@@ -158,8 +157,8 @@ for compilation" on Linux. To make invocations more terse, Linux and Windows
|
||||
example follow.
|
||||
|
||||
.. tab-set::
|
||||
.. tab-item:: Linux and AMD
|
||||
:sync: linux-amd
|
||||
.. tab-item:: Linux
|
||||
:sync: linux
|
||||
|
||||
While distro maintainers might package ROCm so that it installs to
|
||||
system-default locations, AMD's packages aren't installed that way. They need
|
||||
@@ -182,19 +181,8 @@ example follow.
|
||||
have `/opt/rocm/bin` on the Path for convenience. This subtly affects
|
||||
CMake package detection logic of ROCm libraries.
|
||||
|
||||
.. tab-item:: Linux and NVIDIA
|
||||
:sync: linux-nvidia
|
||||
|
||||
Both distro maintainers and NVIDIA package CUDA so that ``nvcc`` and related
|
||||
tools are available on the command line by default. You can call the
|
||||
compiler on the command line with:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
nvcc --version
|
||||
|
||||
.. tab-item:: Windows and AMD
|
||||
:sync: windows-amd
|
||||
.. tab-item:: Windows
|
||||
:sync: windows
|
||||
|
||||
Windows compilers and command line tooling have traditionally relied on
|
||||
extra environmental variables and PATH entries to function correctly.
|
||||
@@ -244,90 +232,26 @@ example follow.
|
||||
|
||||
clang++ --version
|
||||
|
||||
.. tab-item:: Windows and NVIDIA
|
||||
:sync: windows-nvidia
|
||||
|
||||
Windows compilers and command line tooling have traditionally relied on
|
||||
extra environmental variables and PATH entries to function correctly.
|
||||
Visual Studio refers to command lines with this setup as "Developer
|
||||
Command Prompt" or "Developer PowerShell" for ``cmd.exe`` and PowerShell
|
||||
respectively.
|
||||
|
||||
The HIP and CUDA SDKs on Windows don't include complete toolchains. You will
|
||||
also need:
|
||||
|
||||
- The Microsoft Windows SDK. It provides the import libs to crucial system
|
||||
libraries that all executables must link to and some auxiliary compiler
|
||||
tooling.
|
||||
- A Standard Template Library (STL). Installed as part of the Microsoft
|
||||
Visual C++ compiler (MSVC) or with Visual Studio.
|
||||
|
||||
If you don't have a version of Visual Studio 2022 installed, for a
|
||||
minimal command line experience, install the
|
||||
`Build Tools for Visual Studio 2022 <https://aka.ms/vs/17/release/vs_BuildTools.exe>`_
|
||||
with the Desktop Developemnt Workload. Under Individual Components select:
|
||||
|
||||
- A version of the Windows SDK
|
||||
- "MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)"
|
||||
- "C++ CMake tools for Windows" (optional)
|
||||
|
||||
.. note::
|
||||
|
||||
The "C++ CMake tools for Windows" individual component is a convenience which
|
||||
puts both ``cmake.exe`` and ``ninja.exe`` onto the PATH inside developer
|
||||
command prompts. You can install these manually, but then you must manage
|
||||
them manually.
|
||||
|
||||
Visual Studio 2017 and later are detectable as COM object instances via WMI.
|
||||
To setup a command line from any shell for the latest Visual Studio's
|
||||
default Visual C++ toolset issue:
|
||||
|
||||
.. code-block:: powershell
|
||||
|
||||
$InstallationPath = Get-CimInstance MSFT_VSInstance | Sort-Object -Property Version -Descending | Select-Object -First 1 -ExpandProperty InstallLocation
|
||||
Import-Module $InstallationPath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll
|
||||
Enter-VsDevShell -InstallPath $InstallationPath -SkipAutomaticLocation -Arch amd64 -HostArch amd64 -DevCmdArguments '-no_logo'
|
||||
|
||||
You should be able to call the compiler on the command line now:
|
||||
|
||||
.. code-block:: powershell
|
||||
|
||||
nvcc --version
|
||||
|
||||
Invoking the compiler manually
|
||||
------------------------------
|
||||
|
||||
To compile and link a single-file application, use the following commands:
|
||||
|
||||
.. tab-set::
|
||||
.. tab-item:: Linux and AMD
|
||||
:sync: linux-amd
|
||||
.. tab-item:: Linux
|
||||
:sync: linux
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
amdclang++ ./HIP-Basic/saxpy/main.hip -o saxpy -I ./Common -lamdhip64 -L /opt/rocm/lib -O2
|
||||
|
||||
.. tab-item:: Linux and NVIDIA
|
||||
:sync: linux-nvidia
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
nvcc ./HIP-Basic/saxpy/main.hip -o saxpy -I ./Common -I /opt/rocm/include -O2 -x cu
|
||||
|
||||
.. tab-item:: Windows and AMD
|
||||
:sync: windows-amd
|
||||
.. tab-item:: Windows
|
||||
:sync: windows
|
||||
|
||||
.. code-block:: powershell
|
||||
|
||||
clang++ .\HIP-Basic\saxpy\main.hip -o saxpy.exe -I .\Common -lamdhip64 -L ${env:HIP_PATH}lib -O2
|
||||
|
||||
.. tab-item:: Windows and NVIDIA
|
||||
:sync: windows-nvidia
|
||||
|
||||
.. code-block:: powershell
|
||||
|
||||
nvcc .\HIP-Basic\saxpy\main.hip -o saxpy.exe -I ${env:HIP_PATH}include -I .\Common -O2 -x cu
|
||||
|
||||
Depending on your computer, the resulting binary might or might not run. If not,
|
||||
it typically complains about "Invalid device function". That error
|
||||
(corresponding to the ``hipErrorInvalidDeviceFunction`` entry of ``hipError_t``)
|
||||
@@ -341,8 +265,8 @@ find out what device binary flavors are embedded into the executable?
|
||||
|
||||
.. tab-set::
|
||||
|
||||
.. tab-item:: Linux and AMD
|
||||
:sync: linux-amd
|
||||
.. tab-item:: Linux
|
||||
:sync: linux
|
||||
|
||||
The utilities included with ROCm help significantly to inspect binary
|
||||
artifacts on disk. Add the ROCmCC installation folder to your PATH if you
|
||||
@@ -432,32 +356,8 @@ find out what device binary flavors are embedded into the executable?
|
||||
The filename notes the graphics IPs used by the compiler. The contents of
|
||||
this file are similar to the `*.s` file created with ``llvm-objdump`` earlier.
|
||||
|
||||
.. tab-item:: Linux and NVIDIA
|
||||
:sync: linux-nvidia
|
||||
|
||||
Unlike HIP on AMD, when compiling using the NVIDIA support of HIP the resulting
|
||||
binary will be a valid CUDA executable as far as the binary goes. Therefor
|
||||
it'll incorporate PTX ISA (Parallel Thread eXecution Instruction Set
|
||||
Architecture) instead of AMDGPU binary. As s result, tooling shipping with the
|
||||
CUDA SDK can be used to inspect which device ISA got compiled into a specific
|
||||
executable. The tool most useful to us currently is ``cuobjdump``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cuobjdump --list-ptx ./saxpy
|
||||
|
||||
Which will print something like:
|
||||
|
||||
.. code-block::
|
||||
|
||||
PTX file 1: saxpy.1.sm_52.ptx
|
||||
|
||||
From this we can see that the saxpy kernel is stored as ``sm_52``, which shows
|
||||
that a compute capability 5.2 ISA got embedded into the executable, so devices
|
||||
which sport compute capability 5.2 or newer will be able to run this code.
|
||||
|
||||
.. tab-item:: Windows and AMD
|
||||
:sync: windows-amd
|
||||
.. tab-item:: Windows
|
||||
:sync: windows
|
||||
|
||||
The HIP SDK for Windows don't yet sport the ``roc-*`` set of utilities to work
|
||||
with binary artifacts. To find out what binary formats are embedded into an
|
||||
@@ -562,36 +462,12 @@ find out what device binary flavors are embedded into the executable?
|
||||
s_endpgm
|
||||
...
|
||||
|
||||
.. tab-item:: Windows and NVIDIA
|
||||
:sync: windows-nvidia
|
||||
|
||||
Unlike HIP on AMD, when compiling using the NVIDIA support for HIP, the resulting
|
||||
binary will be a valid CUDA executable. Therefore, it'll incorporate PTX ISA
|
||||
(Parallel Thread eXecution Instruction Set Architecture) instead of AMDGPU
|
||||
binary. As a result, tooling included with the CUDA SDK can be used to
|
||||
inspect which device ISA was compiled into a specific executable. The most
|
||||
helpful to us currently is ``cuobjdump``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cuobjdump.exe --list-ptx .\saxpy.exe
|
||||
|
||||
Which prints something like:
|
||||
|
||||
.. code-block::
|
||||
|
||||
PTX file 1: saxpy.1.sm_52.ptx
|
||||
|
||||
This example shows that the SAXPY kernel is stored as ``sm_52``. It also shows
|
||||
that a compute capability 5.2 ISA was embedded into the executable, so devices
|
||||
that support compute capability 5.2 or newer will be able to run this code.
|
||||
|
||||
Now that you've found what binary got embedded into the executable, find which
|
||||
format our available devices use.
|
||||
|
||||
.. tab-set::
|
||||
.. tab-item:: Linux and AMD
|
||||
:sync: linux-amd
|
||||
.. tab-item:: Linux
|
||||
:sync: linux
|
||||
|
||||
On Linux a utility called ``rocminfo`` helps us list all the properties of the
|
||||
devices available on the system, including which version of graphics IP
|
||||
@@ -618,60 +494,8 @@ format our available devices use.
|
||||
Calculating y[i] = a * x[i] + y[i] over 1000000 elements.
|
||||
First 10 elements of the results: [ 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 ]
|
||||
|
||||
.. tab-item:: Linux and NVIDIA
|
||||
:sync: linux-nvidia
|
||||
|
||||
On Linux HIP with the NVIDIA back-end, the ``deviceQuery`` CUDA SDK sample
|
||||
can help us list all the properties of the devices available on the system,
|
||||
including which version of compute capability a device sports.
|
||||
``<major>.<minor>`` compute capability is passed to ``nvcc`` on the
|
||||
command-line as ``sm_<major><minor>``, for eg. ``8.6`` is ``sm_86``.
|
||||
|
||||
Because it's not included as a binary, compile the matching
|
||||
example from ROCm.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
nvcc ./HIP-Basic/device_query/main.cpp -o device_query -I ./Common -I /opt/rocm/include -O2
|
||||
|
||||
Filter the output to have only the lines of interest, for example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./device_query | grep "major.minor"
|
||||
major.minor: 8.6
|
||||
major.minor: 7.0
|
||||
|
||||
.. note::
|
||||
|
||||
In addition to the ``nvcc`` executable is another tool called ``__nvcc_device_query``
|
||||
which prints the SM Architecture numbers to standard out as a comma
|
||||
separated list of numbers. The utility's name suggests it's not a user-facing
|
||||
executable but is used by ``nvcc`` to determine what devices are in the
|
||||
system at hand.
|
||||
|
||||
Now that you know which graphics IPs our devices use, recompile your program with
|
||||
the appropriate parameters.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
nvcc ./HIP-Basic/saxpy/main.hip -o saxpy -I ./Common -I /opt/rocm/include -O2 -x cu -arch=sm_70,sm_86
|
||||
|
||||
.. note::
|
||||
|
||||
If you want to portably target the development machine which is compiling, you
|
||||
may specify ``-arch=native`` instead.
|
||||
|
||||
Now the sample will run.
|
||||
|
||||
.. code-block::
|
||||
|
||||
./saxpy
|
||||
Calculating y[i] = a * x[i] + y[i] over 1000000 elements.
|
||||
First 10 elements of the results: [ 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 ]
|
||||
|
||||
.. tab-item:: Windows and AMD
|
||||
:sync: windows-amd
|
||||
.. tab-item:: Windows
|
||||
:sync: windows
|
||||
|
||||
On Windows, a utility called ``hipInfo.exe`` helps us list all the properties
|
||||
of the devices available on the system, including which version of graphics IP
|
||||
@@ -698,56 +522,3 @@ format our available devices use.
|
||||
.\saxpy.exe
|
||||
Calculating y[i] = a * x[i] + y[i] over 1000000 elements.
|
||||
First 10 elements of the results: [ 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 ]
|
||||
|
||||
.. tab-item:: Windows and NVIDIA
|
||||
:sync: windows-nvidia
|
||||
|
||||
On Windows HIP with the NVIDIA back-end, the ``deviceQuery`` CUDA SDK sample
|
||||
can help us list all the properties of the devices available on the system,
|
||||
including which version of compute capability a device sports.
|
||||
``<major>.<minor>`` compute capability is passed to ``nvcc`` on the
|
||||
command-line as ``sm_<major><minor>``, for eg. ``8.6`` is ``sm_86``.
|
||||
|
||||
Because it's not included as a binary, compile the matching
|
||||
example from ROCm.
|
||||
|
||||
.. code-block:: powershell
|
||||
|
||||
nvcc .\HIP-Basic\device_query\main.cpp -o device_query.exe -I .\Common -I ${env:HIP_PATH}include -O2
|
||||
|
||||
Filter the output to have only the lines of interest, for example:
|
||||
|
||||
.. code-block:: powershell
|
||||
|
||||
.\device_query.exe | Select-String "major.minor"
|
||||
|
||||
major.minor: 8.6
|
||||
major.minor: 7.0
|
||||
|
||||
.. note::
|
||||
|
||||
Next to the ``nvcc`` executable is another tool called ``__nvcc_device_query.exe``
|
||||
which simply prints the SM Architecture numbers to standard out as a comma
|
||||
separated list of numbers. The naming of this utility suggests it's not a user
|
||||
facing executable but is used by ``nvcc`` to determine what devices are in the
|
||||
system at hand.
|
||||
|
||||
Now that you know which graphics IPs our devices use, recompile your program with
|
||||
the appropriate parameters.
|
||||
|
||||
.. code-block:: powershell
|
||||
|
||||
nvcc .\HIP-Basic\saxpy\main.hip -o saxpy.exe -I ${env:HIP_PATH}include -I .\Common -O2 -x cu -arch=sm_70,sm_86
|
||||
|
||||
.. note::
|
||||
|
||||
If you want to portably target the development machine which is compiling, you
|
||||
may specify ``-arch=native`` instead.
|
||||
|
||||
Now the sample will run.
|
||||
|
||||
.. code-block::
|
||||
|
||||
.\saxpy.exe
|
||||
Calculating y[i] = a * x[i] + y[i] over 1000000 elements.
|
||||
First 10 elements of the results: [ 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 ]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.. meta::
|
||||
:description: This chapter provides an introduction to the HIP API.
|
||||
:keywords: AMD, ROCm, HIP, CUDA, C++ language extensions
|
||||
:keywords: AMD, ROCm, HIP, C++ language extensions
|
||||
|
||||
.. _intro-to-hip:
|
||||
|
||||
@@ -8,39 +8,36 @@
|
||||
What is HIP?
|
||||
*******************************************************************************
|
||||
|
||||
The Heterogeneous-computing Interface for Portability (HIP) API is a C++ runtime API
|
||||
and kernel language that lets developers create portable applications running in heterogeneous systems,
|
||||
using CPUs and AMD GPUs or NVIDIA GPUs from a single source code. HIP provides a simple
|
||||
marshalling language to access either the AMD ROCM back-end, or NVIDIA CUDA back-end,
|
||||
to build and run application kernels.
|
||||
The Heterogeneous-computing Interface for Portability (HIP) API, part of AMD's
|
||||
ROCm platform, is a C++ runtime API and kernel language that lets developers
|
||||
create portable applications that run on heterogeneous systems, using CPUs and
|
||||
AMD GPUs from a single source code base.
|
||||
|
||||
.. figure:: data/what_is_hip/hip.svg
|
||||
:alt: HIP in an application.
|
||||
:align: center
|
||||
|
||||
* HIP is a thin API with little or no performance impact over coding directly
|
||||
in NVIDIA CUDA or AMD :doc:`ROCm <rocm:what-is-rocm>`.
|
||||
in AMD :doc:`ROCm <rocm:what-is-rocm>`.
|
||||
|
||||
* HIP enables coding in a single-source C++ programming language including
|
||||
* HIP enables coding in a single-source C++ programming language, including
|
||||
features such as templates, C++11 lambdas, classes, namespaces, and more.
|
||||
|
||||
* Developers can specialize for the platform (CUDA or ROCm) to tune for
|
||||
performance or handle tricky cases.
|
||||
* Developers can tune for performance or handle tricky cases via HIP.
|
||||
|
||||
ROCm offers compilers (``clang``, ``hipcc``), code
|
||||
profilers (``rocprof``, ``omnitrace``), debugging tools (``rocgdb``), libraries
|
||||
and HIP with the runtime API and kernel language, to create heterogeneous applications
|
||||
running on both CPUs and GPUs. ROCm provides marshalling libraries like
|
||||
ROCm offers compilers (``clang``, ``hipcc``), code profilers (``rocprofv3``),
|
||||
debugging tools (``rocgdb``), libraries and HIP with the runtime
|
||||
API and kernel language, to create heterogeneous applications running on both
|
||||
CPUs and GPUs. ROCm provides marshalling libraries like
|
||||
:doc:`hipFFT <hipfft:index>` or :doc:`hipBLAS <hipblas:index>` that act as a
|
||||
thin programming layer over either NVIDIA CUDA or AMD ROCm to enable support for
|
||||
either back-end. These libraries offer pointer-based memory interfaces and are
|
||||
easily integrated into your applications.
|
||||
thin programming layer over AMD ROCm and offer API compatibility with the
|
||||
equivalent Nvidia CUDA libraries. These libraries provide pointer-based memory
|
||||
interfaces and can be easily integrated into your applications.
|
||||
|
||||
HIP supports the ability to build and run on either AMD GPUs or NVIDIA GPUs.
|
||||
HIP supports building and running on both AMD GPUs or NVIDIA GPUs.
|
||||
GPU Programmers familiar with NVIDIA CUDA or OpenCL will find the HIP API
|
||||
familiar and easy to use. Developers no longer need to choose between AMD or
|
||||
NVIDIA GPUs. You can quickly port your application to run on the available
|
||||
hardware while maintaining a single codebase. The :doc:`HIPify <hipify:index>`
|
||||
familiar and easy to use. You can quickly port your application to run on the
|
||||
available hardware while maintaining a single codebase. The :doc:`HIPify <hipify:index>`
|
||||
tools, based on the clang front-end and Perl language, can convert CUDA API
|
||||
calls into the corresponding HIP API calls. However, HIP is not intended to be a
|
||||
drop-in replacement for CUDA, and developers should expect to do some manual
|
||||
@@ -56,8 +53,7 @@ develop massively parallel programs that run on GPUs, and provides access to GPU
|
||||
specific hardware capabilities.
|
||||
|
||||
In summary, HIP simplifies cross-platform development, maintains performance,
|
||||
and provides a familiar C++ experience for GPU programming that runs seamlessly
|
||||
on both AMD and NVIDIA GPUs.
|
||||
and provides a familiar C++ experience for GPU programming that runs seamlessly.
|
||||
|
||||
HIP components
|
||||
===============================================
|
||||
@@ -68,19 +64,11 @@ associated with each component, see :doc:`HIP licensing <license>`.
|
||||
C++ runtime API
|
||||
-----------------------------------------------
|
||||
|
||||
For the AMD ROCm platform, HIP provides headers and a runtime library built on
|
||||
top of HIP-Clang compiler in the repository
|
||||
:doc:`Compute Language Runtime (CLR) <understand/amd_clr>`. The HIP runtime
|
||||
implements HIP streams, events, and memory APIs, and is an object library that
|
||||
is linked with the application. The source code for all headers and the library
|
||||
implementation is available on GitHub.
|
||||
|
||||
For the NVIDIA CUDA platform, HIP provides headers that translate from the
|
||||
HIP runtime API to the CUDA runtime API. The host-side contains mostly inlined
|
||||
wrappers or even just preprocessor defines, with no additional overhead.
|
||||
The device-side code is compiled with ``nvcc``, just like normal CUDA kernels,
|
||||
and therefore one can expect the same performance as if directly coding in CUDA.
|
||||
The CUDA specific headers can be found in the `hipother repository <https://github.com/ROCm/rocm-systems/tree/develop/projects/hipother>`_.
|
||||
HIP provides headers and a runtime library built on top of HIP-Clang compiler in
|
||||
the repository :doc:`Compute Language Runtime (CLR) <understand/amd_clr>`. The
|
||||
HIP runtime implements HIP streams, events, and memory APIs, and is an object
|
||||
library that is linked with the application. The source code for all headers and
|
||||
the library implementation is available on GitHub.
|
||||
|
||||
For further details, check :ref:`HIP Runtime API Reference <runtime_api_reference>`.
|
||||
|
||||
|
||||
새 이슈에서 참조
사용자 차단