[GH-PAGES] Updated website
@@ -33,7 +33,7 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"import torch\n\n\n# Compute the row-wise softmax of x\n@torch.jit.script\ndef naive_softmax(x):\n # read MN elements ; write M elements\n x_max = x.max(dim=1)[0]\n # read 2MN elements ; write MN elements\n z = x - x_max[:, None]\n # read MN elements ; write MN elements\n numerator = torch.exp(x)\n # read MN elements ; write M elements\n denominator = numerator.sum(dim=1)\n # read 2MN elements ; write MN elements\n ret = numerator / denominator[:, None]\n # in total: read 7MN elements ; wrote 3MN + 2M elements\n return ret"
|
"import torch\n\n\n# Compute the row-wise softmax of x\n@torch.jit.script\ndef naive_softmax(x):\n # read MN elements ; write M elements\n x_max = x.max(dim=1)[0]\n # read 2MN elements ; write MN elements\n z = x - x_max[:, None]\n # read MN elements ; write MN elements\n numerator = torch.exp(z)\n # read MN elements ; write M elements\n denominator = numerator.sum(dim=1)\n # read 2MN elements ; write MN elements\n ret = numerator / denominator[:, None]\n # in total: read 7MN elements ; wrote 3MN + 2M elements\n return ret"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@@ -25,7 +25,7 @@ def naive_softmax(x):
|
|||||||
# read 2MN elements ; write MN elements
|
# read 2MN elements ; write MN elements
|
||||||
z = x - x_max[:, None]
|
z = x - x_max[:, None]
|
||||||
# read MN elements ; write MN elements
|
# read MN elements ; write MN elements
|
||||||
numerator = torch.exp(x)
|
numerator = torch.exp(z)
|
||||||
# read MN elements ; write M elements
|
# read MN elements ; write M elements
|
||||||
denominator = numerator.sum(dim=1)
|
denominator = numerator.sum(dim=1)
|
||||||
# read 2MN elements ; write MN elements
|
# read 2MN elements ; write MN elements
|
||||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 32 KiB |
@@ -239,7 +239,7 @@ We can now run the decorated function above. Pass `print_data=True` to see the p
|
|||||||
|
|
||||||
.. rst-class:: sphx-glr-timing
|
.. rst-class:: sphx-glr-timing
|
||||||
|
|
||||||
**Total running time of the script:** ( 0 minutes 11.032 seconds)
|
**Total running time of the script:** ( 0 minutes 10.984 seconds)
|
||||||
|
|
||||||
|
|
||||||
.. _sphx_glr_download_getting-started_tutorials_01-vector-add.py:
|
.. _sphx_glr_download_getting-started_tutorials_01-vector-add.py:
|
||||||
|
@@ -49,7 +49,7 @@ Let us consider instead the case of a simple (numerically stabilized) softmax op
|
|||||||
# read 2MN elements ; write MN elements
|
# read 2MN elements ; write MN elements
|
||||||
z = x - x_max[:, None]
|
z = x - x_max[:, None]
|
||||||
# read MN elements ; write MN elements
|
# read MN elements ; write MN elements
|
||||||
numerator = torch.exp(x)
|
numerator = torch.exp(z)
|
||||||
# read MN elements ; write M elements
|
# read MN elements ; write M elements
|
||||||
denominator = numerator.sum(dim=1)
|
denominator = numerator.sum(dim=1)
|
||||||
# read 2MN elements ; write MN elements
|
# read 2MN elements ; write MN elements
|
||||||
@@ -261,17 +261,17 @@ We will then compare its performance against (1) :code:`torch.softmax` and (2) t
|
|||||||
|
|
||||||
softmax-performance:
|
softmax-performance:
|
||||||
N Triton Torch (native) Torch (jit)
|
N Triton Torch (native) Torch (jit)
|
||||||
0 256.0 512.000001 546.133347 273.066674
|
0 256.0 512.000001 546.133347 186.181817
|
||||||
1 384.0 585.142862 585.142862 267.130429
|
1 384.0 585.142862 585.142862 153.600004
|
||||||
2 512.0 630.153853 606.814814 264.258068
|
2 512.0 630.153853 606.814814 154.566038
|
||||||
3 640.0 682.666684 640.000002 269.473696
|
3 640.0 682.666684 640.000002 160.000000
|
||||||
4 768.0 702.171410 664.216187 273.066663
|
4 768.0 702.171410 664.216187 162.754967
|
||||||
.. ... ... ... ...
|
.. ... ... ... ...
|
||||||
93 12160.0 812.359066 406.179533 329.483481
|
93 12160.0 812.359066 406.179533 198.936606
|
||||||
94 12288.0 812.429770 415.661740 329.602681
|
94 12288.0 812.429770 416.101597 199.298541
|
||||||
95 12416.0 810.840807 412.149375 329.173158
|
95 12416.0 810.840807 412.149375 198.854847
|
||||||
96 12544.0 810.925276 412.546756 329.292871
|
96 12544.0 810.925276 412.971190 199.111113
|
||||||
97 12672.0 811.007961 412.097543 329.410251
|
97 12672.0 811.007961 412.097543 199.167004
|
||||||
|
|
||||||
[98 rows x 4 columns]
|
[98 rows x 4 columns]
|
||||||
|
|
||||||
@@ -290,7 +290,7 @@ In the above plot, we can see that:
|
|||||||
|
|
||||||
.. rst-class:: sphx-glr-timing
|
.. rst-class:: sphx-glr-timing
|
||||||
|
|
||||||
**Total running time of the script:** ( 1 minutes 8.174 seconds)
|
**Total running time of the script:** ( 1 minutes 13.269 seconds)
|
||||||
|
|
||||||
|
|
||||||
.. _sphx_glr_download_getting-started_tutorials_02-fused-softmax.py:
|
.. _sphx_glr_download_getting-started_tutorials_02-fused-softmax.py:
|
||||||
|
@@ -371,37 +371,37 @@ We can now compare the performance of our kernel against that of cuBLAS. Here we
|
|||||||
matmul-performance:
|
matmul-performance:
|
||||||
M cuBLAS ... Triton Triton (+ LeakyReLU)
|
M cuBLAS ... Triton Triton (+ LeakyReLU)
|
||||||
0 128.0 0.455111 ... 0.512000 0.512000
|
0 128.0 0.455111 ... 0.512000 0.512000
|
||||||
1 256.0 2.978909 ... 2.978909 2.978909
|
1 256.0 2.730667 ... 2.978909 2.978909
|
||||||
2 384.0 7.372800 ... 7.899428 7.899428
|
2 384.0 7.372800 ... 8.507077 8.507077
|
||||||
3 512.0 14.563555 ... 16.384000 15.420235
|
3 512.0 14.563555 ... 16.384000 15.420235
|
||||||
4 640.0 22.260869 ... 24.380953 24.380953
|
4 640.0 22.260869 ... 24.380953 24.380953
|
||||||
5 768.0 32.768000 ... 34.028308 34.028308
|
5 768.0 32.768000 ... 34.028308 34.028308
|
||||||
6 896.0 39.025776 ... 39.025776 39.025776
|
6 896.0 39.025776 ... 39.025776 39.025776
|
||||||
7 1024.0 51.150050 ... 52.428801 52.428801
|
7 1024.0 49.932191 ... 52.428801 52.428801
|
||||||
8 1152.0 44.566925 ... 46.656000 46.656000
|
8 1152.0 44.566925 ... 46.656000 46.656000
|
||||||
9 1280.0 51.200001 ... 56.109587 56.109587
|
9 1280.0 51.200001 ... 56.109587 56.109587
|
||||||
10 1408.0 64.138541 ... 65.684049 65.684049
|
10 1408.0 64.138541 ... 65.684049 64.902096
|
||||||
11 1536.0 80.430545 ... 76.106321 75.296679
|
11 1536.0 80.430545 ... 76.106321 76.106321
|
||||||
12 1664.0 63.372618 ... 62.061463 61.636381
|
12 1664.0 63.372618 ... 61.636381 61.636381
|
||||||
13 1792.0 72.983276 ... 68.953520 68.533074
|
13 1792.0 72.983276 ... 69.379162 68.953520
|
||||||
14 1920.0 69.120002 ... 68.435645 68.435645
|
14 1920.0 68.435645 ... 69.818184 68.776119
|
||||||
15 2048.0 73.908442 ... 75.573044 75.234154
|
15 2048.0 73.584279 ... 75.915006 75.234154
|
||||||
16 2176.0 83.500614 ... 80.173899 79.855747
|
16 2176.0 83.500614 ... 78.608000 79.540109
|
||||||
17 2304.0 68.446623 ... 73.051599 72.607513
|
17 2304.0 68.251065 ... 73.051599 72.607513
|
||||||
18 2432.0 71.125224 ... 81.197876 80.963875
|
18 2432.0 71.125224 ... 81.669953 80.269900
|
||||||
19 2560.0 77.649287 ... 76.027843 76.740048
|
19 2560.0 77.833728 ... 75.328737 74.812787
|
||||||
20 2688.0 83.552988 ... 83.186525 82.823267
|
20 2688.0 81.576466 ... 81.227100 82.823267
|
||||||
21 2816.0 84.035084 ... 76.921000 79.733474
|
21 2816.0 83.392363 ... 78.868366 77.330158
|
||||||
22 2944.0 82.102191 ... 80.122235 78.729910
|
22 2944.0 81.698415 ... 80.122235 79.356738
|
||||||
23 3072.0 82.540970 ... 82.661468 82.661468
|
23 3072.0 80.890151 ... 81.589488 83.391907
|
||||||
24 3200.0 84.432717 ... 89.385477 84.432717
|
24 3200.0 84.656085 ... 85.447263 88.033012
|
||||||
25 3328.0 83.905938 ... 86.113988 86.528001
|
25 3328.0 82.939284 ... 86.632127 82.558825
|
||||||
26 3456.0 82.015834 ... 83.545665 84.156124
|
26 3456.0 81.518272 ... 84.954233 84.420490
|
||||||
27 3584.0 87.466332 ... 92.600816 84.988707
|
27 3584.0 83.254996 ... 94.747514 95.654673
|
||||||
28 3712.0 85.163978 ... 82.902362 83.666116
|
28 3712.0 86.192706 ... 88.955779 88.797643
|
||||||
29 3840.0 84.292684 ... 84.550462 85.070769
|
29 3840.0 84.809814 ... 84.874902 84.356981
|
||||||
30 3968.0 89.921841 ... 87.472354 87.409694
|
30 3968.0 89.593789 ... 84.738843 84.212518
|
||||||
31 4096.0 93.792965 ... 89.478485 90.260743
|
31 4096.0 93.596744 ... 83.833686 90.933423
|
||||||
|
|
||||||
[32 rows x 5 columns]
|
[32 rows x 5 columns]
|
||||||
|
|
||||||
@@ -411,7 +411,7 @@ We can now compare the performance of our kernel against that of cuBLAS. Here we
|
|||||||
|
|
||||||
.. rst-class:: sphx-glr-timing
|
.. rst-class:: sphx-glr-timing
|
||||||
|
|
||||||
**Total running time of the script:** ( 2 minutes 2.376 seconds)
|
**Total running time of the script:** ( 2 minutes 16.432 seconds)
|
||||||
|
|
||||||
|
|
||||||
.. _sphx_glr_download_getting-started_tutorials_03-matrix-multiplication.py:
|
.. _sphx_glr_download_getting-started_tutorials_03-matrix-multiplication.py:
|
||||||
|
@@ -5,12 +5,12 @@
|
|||||||
|
|
||||||
Computation times
|
Computation times
|
||||||
=================
|
=================
|
||||||
**03:21.583** total execution time for **getting-started_tutorials** files:
|
**03:40.685** total execution time for **getting-started_tutorials** files:
|
||||||
|
|
||||||
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
||||||
| :ref:`sphx_glr_getting-started_tutorials_03-matrix-multiplication.py` (``03-matrix-multiplication.py``) | 02:02.376 | 0.0 MB |
|
| :ref:`sphx_glr_getting-started_tutorials_03-matrix-multiplication.py` (``03-matrix-multiplication.py``) | 02:16.432 | 0.0 MB |
|
||||||
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
||||||
| :ref:`sphx_glr_getting-started_tutorials_02-fused-softmax.py` (``02-fused-softmax.py``) | 01:08.174 | 0.0 MB |
|
| :ref:`sphx_glr_getting-started_tutorials_02-fused-softmax.py` (``02-fused-softmax.py``) | 01:13.269 | 0.0 MB |
|
||||||
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
||||||
| :ref:`sphx_glr_getting-started_tutorials_01-vector-add.py` (``01-vector-add.py``) | 00:11.032 | 0.0 MB |
|
| :ref:`sphx_glr_getting-started_tutorials_01-vector-add.py` (``01-vector-add.py``) | 00:10.984 | 0.0 MB |
|
||||||
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
||||||
|
@@ -323,7 +323,7 @@ for different problem sizes.</p>
|
|||||||
15 134217728.0 851.577704 850.656574
|
15 134217728.0 851.577704 850.656574
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 0 minutes 11.032 seconds)</p>
|
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 0 minutes 10.984 seconds)</p>
|
||||||
<div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-getting-started-tutorials-01-vector-add-py">
|
<div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-getting-started-tutorials-01-vector-add-py">
|
||||||
<div class="sphx-glr-download sphx-glr-download-python docutils container">
|
<div class="sphx-glr-download sphx-glr-download-python docutils container">
|
||||||
<p><a class="reference download internal" download="" href="../../_downloads/62d97d49a32414049819dd8bb8378080/01-vector-add.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">01-vector-add.py</span></code></a></p>
|
<p><a class="reference download internal" download="" href="../../_downloads/62d97d49a32414049819dd8bb8378080/01-vector-add.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">01-vector-add.py</span></code></a></p>
|
||||||
|
@@ -216,7 +216,7 @@ Let us consider instead the case of a simple (numerically stabilized) softmax op
|
|||||||
<span class="c1"># read 2MN elements ; write MN elements</span>
|
<span class="c1"># read 2MN elements ; write MN elements</span>
|
||||||
<span class="n">z</span> <span class="o">=</span> <span class="n">x</span> <span class="o">-</span> <span class="n">x_max</span><span class="p">[:,</span> <span class="kc">None</span><span class="p">]</span>
|
<span class="n">z</span> <span class="o">=</span> <span class="n">x</span> <span class="o">-</span> <span class="n">x_max</span><span class="p">[:,</span> <span class="kc">None</span><span class="p">]</span>
|
||||||
<span class="c1"># read MN elements ; write MN elements</span>
|
<span class="c1"># read MN elements ; write MN elements</span>
|
||||||
<span class="n">numerator</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
<span class="n">numerator</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">z</span><span class="p">)</span>
|
||||||
<span class="c1"># read MN elements ; write M elements</span>
|
<span class="c1"># read MN elements ; write M elements</span>
|
||||||
<span class="n">denominator</span> <span class="o">=</span> <span class="n">numerator</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
<span class="n">denominator</span> <span class="o">=</span> <span class="n">numerator</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||||
<span class="c1"># read 2MN elements ; write MN elements</span>
|
<span class="c1"># read 2MN elements ; write MN elements</span>
|
||||||
@@ -346,17 +346,17 @@ We will then compare its performance against (1) <code class="code docutils lite
|
|||||||
<p class="sphx-glr-script-out">Out:</p>
|
<p class="sphx-glr-script-out">Out:</p>
|
||||||
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>softmax-performance:
|
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>softmax-performance:
|
||||||
N Triton Torch (native) Torch (jit)
|
N Triton Torch (native) Torch (jit)
|
||||||
0 256.0 512.000001 546.133347 273.066674
|
0 256.0 512.000001 546.133347 186.181817
|
||||||
1 384.0 585.142862 585.142862 267.130429
|
1 384.0 585.142862 585.142862 153.600004
|
||||||
2 512.0 630.153853 606.814814 264.258068
|
2 512.0 630.153853 606.814814 154.566038
|
||||||
3 640.0 682.666684 640.000002 269.473696
|
3 640.0 682.666684 640.000002 160.000000
|
||||||
4 768.0 702.171410 664.216187 273.066663
|
4 768.0 702.171410 664.216187 162.754967
|
||||||
.. ... ... ... ...
|
.. ... ... ... ...
|
||||||
93 12160.0 812.359066 406.179533 329.483481
|
93 12160.0 812.359066 406.179533 198.936606
|
||||||
94 12288.0 812.429770 415.661740 329.602681
|
94 12288.0 812.429770 416.101597 199.298541
|
||||||
95 12416.0 810.840807 412.149375 329.173158
|
95 12416.0 810.840807 412.149375 198.854847
|
||||||
96 12544.0 810.925276 412.546756 329.292871
|
96 12544.0 810.925276 412.971190 199.111113
|
||||||
97 12672.0 811.007961 412.097543 329.410251
|
97 12672.0 811.007961 412.097543 199.167004
|
||||||
|
|
||||||
[98 rows x 4 columns]
|
[98 rows x 4 columns]
|
||||||
</pre></div>
|
</pre></div>
|
||||||
@@ -370,7 +370,7 @@ This means that – when temporary data is too large to fit entirely in the GPU
|
|||||||
Note that our Triton kernel is not only faster than PyTorch’s CUDA kernel, it is also <strong>easier to read, understand and maintain</strong>.</p></li>
|
Note that our Triton kernel is not only faster than PyTorch’s CUDA kernel, it is also <strong>easier to read, understand and maintain</strong>.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div></blockquote>
|
</div></blockquote>
|
||||||
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 8.174 seconds)</p>
|
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 13.269 seconds)</p>
|
||||||
<div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-getting-started-tutorials-02-fused-softmax-py">
|
<div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-getting-started-tutorials-02-fused-softmax-py">
|
||||||
<div class="sphx-glr-download sphx-glr-download-python docutils container">
|
<div class="sphx-glr-download sphx-glr-download-python docutils container">
|
||||||
<p><a class="reference download internal" download="" href="../../_downloads/d91442ac2982c4e0cc3ab0f43534afbc/02-fused-softmax.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">02-fused-softmax.py</span></code></a></p>
|
<p><a class="reference download internal" download="" href="../../_downloads/d91442ac2982c4e0cc3ab0f43534afbc/02-fused-softmax.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">02-fused-softmax.py</span></code></a></p>
|
||||||
|
@@ -476,42 +476,42 @@ tensor(True, device='cuda:0')
|
|||||||
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>matmul-performance:
|
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>matmul-performance:
|
||||||
M cuBLAS ... Triton Triton (+ LeakyReLU)
|
M cuBLAS ... Triton Triton (+ LeakyReLU)
|
||||||
0 128.0 0.455111 ... 0.512000 0.512000
|
0 128.0 0.455111 ... 0.512000 0.512000
|
||||||
1 256.0 2.978909 ... 2.978909 2.978909
|
1 256.0 2.730667 ... 2.978909 2.978909
|
||||||
2 384.0 7.372800 ... 7.899428 7.899428
|
2 384.0 7.372800 ... 8.507077 8.507077
|
||||||
3 512.0 14.563555 ... 16.384000 15.420235
|
3 512.0 14.563555 ... 16.384000 15.420235
|
||||||
4 640.0 22.260869 ... 24.380953 24.380953
|
4 640.0 22.260869 ... 24.380953 24.380953
|
||||||
5 768.0 32.768000 ... 34.028308 34.028308
|
5 768.0 32.768000 ... 34.028308 34.028308
|
||||||
6 896.0 39.025776 ... 39.025776 39.025776
|
6 896.0 39.025776 ... 39.025776 39.025776
|
||||||
7 1024.0 51.150050 ... 52.428801 52.428801
|
7 1024.0 49.932191 ... 52.428801 52.428801
|
||||||
8 1152.0 44.566925 ... 46.656000 46.656000
|
8 1152.0 44.566925 ... 46.656000 46.656000
|
||||||
9 1280.0 51.200001 ... 56.109587 56.109587
|
9 1280.0 51.200001 ... 56.109587 56.109587
|
||||||
10 1408.0 64.138541 ... 65.684049 65.684049
|
10 1408.0 64.138541 ... 65.684049 64.902096
|
||||||
11 1536.0 80.430545 ... 76.106321 75.296679
|
11 1536.0 80.430545 ... 76.106321 76.106321
|
||||||
12 1664.0 63.372618 ... 62.061463 61.636381
|
12 1664.0 63.372618 ... 61.636381 61.636381
|
||||||
13 1792.0 72.983276 ... 68.953520 68.533074
|
13 1792.0 72.983276 ... 69.379162 68.953520
|
||||||
14 1920.0 69.120002 ... 68.435645 68.435645
|
14 1920.0 68.435645 ... 69.818184 68.776119
|
||||||
15 2048.0 73.908442 ... 75.573044 75.234154
|
15 2048.0 73.584279 ... 75.915006 75.234154
|
||||||
16 2176.0 83.500614 ... 80.173899 79.855747
|
16 2176.0 83.500614 ... 78.608000 79.540109
|
||||||
17 2304.0 68.446623 ... 73.051599 72.607513
|
17 2304.0 68.251065 ... 73.051599 72.607513
|
||||||
18 2432.0 71.125224 ... 81.197876 80.963875
|
18 2432.0 71.125224 ... 81.669953 80.269900
|
||||||
19 2560.0 77.649287 ... 76.027843 76.740048
|
19 2560.0 77.833728 ... 75.328737 74.812787
|
||||||
20 2688.0 83.552988 ... 83.186525 82.823267
|
20 2688.0 81.576466 ... 81.227100 82.823267
|
||||||
21 2816.0 84.035084 ... 76.921000 79.733474
|
21 2816.0 83.392363 ... 78.868366 77.330158
|
||||||
22 2944.0 82.102191 ... 80.122235 78.729910
|
22 2944.0 81.698415 ... 80.122235 79.356738
|
||||||
23 3072.0 82.540970 ... 82.661468 82.661468
|
23 3072.0 80.890151 ... 81.589488 83.391907
|
||||||
24 3200.0 84.432717 ... 89.385477 84.432717
|
24 3200.0 84.656085 ... 85.447263 88.033012
|
||||||
25 3328.0 83.905938 ... 86.113988 86.528001
|
25 3328.0 82.939284 ... 86.632127 82.558825
|
||||||
26 3456.0 82.015834 ... 83.545665 84.156124
|
26 3456.0 81.518272 ... 84.954233 84.420490
|
||||||
27 3584.0 87.466332 ... 92.600816 84.988707
|
27 3584.0 83.254996 ... 94.747514 95.654673
|
||||||
28 3712.0 85.163978 ... 82.902362 83.666116
|
28 3712.0 86.192706 ... 88.955779 88.797643
|
||||||
29 3840.0 84.292684 ... 84.550462 85.070769
|
29 3840.0 84.809814 ... 84.874902 84.356981
|
||||||
30 3968.0 89.921841 ... 87.472354 87.409694
|
30 3968.0 89.593789 ... 84.738843 84.212518
|
||||||
31 4096.0 93.792965 ... 89.478485 90.260743
|
31 4096.0 93.596744 ... 83.833686 90.933423
|
||||||
|
|
||||||
[32 rows x 5 columns]
|
[32 rows x 5 columns]
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes 2.376 seconds)</p>
|
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes 16.432 seconds)</p>
|
||||||
<div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-getting-started-tutorials-03-matrix-multiplication-py">
|
<div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-getting-started-tutorials-03-matrix-multiplication-py">
|
||||||
<div class="sphx-glr-download sphx-glr-download-python docutils container">
|
<div class="sphx-glr-download sphx-glr-download-python docutils container">
|
||||||
<p><a class="reference download internal" download="" href="../../_downloads/d5fee5b55a64e47f1b5724ec39adf171/03-matrix-multiplication.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">03-matrix-multiplication.py</span></code></a></p>
|
<p><a class="reference download internal" download="" href="../../_downloads/d5fee5b55a64e47f1b5724ec39adf171/03-matrix-multiplication.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">03-matrix-multiplication.py</span></code></a></p>
|
||||||
|
@@ -174,7 +174,7 @@
|
|||||||
|
|
||||||
<div class="section" id="computation-times">
|
<div class="section" id="computation-times">
|
||||||
<span id="sphx-glr-getting-started-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
|
<span id="sphx-glr-getting-started-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
|
||||||
<p><strong>03:21.583</strong> total execution time for <strong>getting-started_tutorials</strong> files:</p>
|
<p><strong>03:40.685</strong> total execution time for <strong>getting-started_tutorials</strong> files:</p>
|
||||||
<table class="docutils align-default">
|
<table class="docutils align-default">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 85%" />
|
<col style="width: 85%" />
|
||||||
@@ -183,15 +183,15 @@
|
|||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="row-odd"><td><p><a class="reference internal" href="03-matrix-multiplication.html#sphx-glr-getting-started-tutorials-03-matrix-multiplication-py"><span class="std std-ref">Matrix Multiplication</span></a> (<code class="docutils literal notranslate"><span class="pre">03-matrix-multiplication.py</span></code>)</p></td>
|
<tr class="row-odd"><td><p><a class="reference internal" href="03-matrix-multiplication.html#sphx-glr-getting-started-tutorials-03-matrix-multiplication-py"><span class="std std-ref">Matrix Multiplication</span></a> (<code class="docutils literal notranslate"><span class="pre">03-matrix-multiplication.py</span></code>)</p></td>
|
||||||
<td><p>02:02.376</p></td>
|
<td><p>02:16.432</p></td>
|
||||||
<td><p>0.0 MB</p></td>
|
<td><p>0.0 MB</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-even"><td><p><a class="reference internal" href="02-fused-softmax.html#sphx-glr-getting-started-tutorials-02-fused-softmax-py"><span class="std std-ref">Fused Softmax</span></a> (<code class="docutils literal notranslate"><span class="pre">02-fused-softmax.py</span></code>)</p></td>
|
<tr class="row-even"><td><p><a class="reference internal" href="02-fused-softmax.html#sphx-glr-getting-started-tutorials-02-fused-softmax-py"><span class="std std-ref">Fused Softmax</span></a> (<code class="docutils literal notranslate"><span class="pre">02-fused-softmax.py</span></code>)</p></td>
|
||||||
<td><p>01:08.174</p></td>
|
<td><p>01:13.269</p></td>
|
||||||
<td><p>0.0 MB</p></td>
|
<td><p>0.0 MB</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-odd"><td><p><a class="reference internal" href="01-vector-add.html#sphx-glr-getting-started-tutorials-01-vector-add-py"><span class="std std-ref">Vector Addition</span></a> (<code class="docutils literal notranslate"><span class="pre">01-vector-add.py</span></code>)</p></td>
|
<tr class="row-odd"><td><p><a class="reference internal" href="01-vector-add.html#sphx-glr-getting-started-tutorials-01-vector-add-py"><span class="std std-ref">Vector Addition</span></a> (<code class="docutils literal notranslate"><span class="pre">01-vector-add.py</span></code>)</p></td>
|
||||||
<td><p>00:11.032</p></td>
|
<td><p>00:10.984</p></td>
|
||||||
<td><p>0.0 MB</p></td>
|
<td><p>0.0 MB</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|