[GH-PAGES] Updated website
@@ -55,7 +55,7 @@ def add(x: torch.Tensor, y: torch.Tensor):
|
||||
# We need to preallocate the output
|
||||
output = torch.empty_like(x)
|
||||
assert x.is_cuda and y.is_cuda and output.is_cuda
|
||||
n_elements = output.shape[0]
|
||||
n_elements = output.numel()
|
||||
# The SPMD launch grid denotes the number of kernel instances that run in parallel.
|
||||
# It is analogous to CUDA launch grids. It can be either Tuple[int], or Callable(metaparameters) -> Tuple[int]
|
||||
# In this case, we use a 1D grid where the size is the number of blocks
|
||||
|
@@ -51,7 +51,7 @@
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def add(x: torch.Tensor, y: torch.Tensor):\n # We need to preallocate the output\n output = torch.empty_like(x)\n assert x.is_cuda and y.is_cuda and output.is_cuda\n n_elements = output.shape[0]\n # The SPMD launch grid denotes the number of kernel instances that run in parallel.\n # It is analogous to CUDA launch grids. It can be either Tuple[int], or Callable(metaparameters) -> Tuple[int]\n # In this case, we use a 1D grid where the size is the number of blocks\n grid = lambda meta: (triton.cdiv(n_elements, meta['BLOCK_SIZE']),)\n # NOTE:\n # - each torch.tensor object is implicitly converted into a pointer to its first element.\n # - `triton.jit`'ed functions can be index with a launch grid to obtain a callable GPU kernel\n # - don't forget to pass meta-parameters as keywords arguments\n add_kernel[grid](x, y, output, n_elements, BLOCK_SIZE=1024)\n # We return a handle to z but, since `torch.cuda.synchronize()` hasn't been called, the kernel is still\n # running asynchronously at this point.\n return output"
|
||||
"def add(x: torch.Tensor, y: torch.Tensor):\n # We need to preallocate the output\n output = torch.empty_like(x)\n assert x.is_cuda and y.is_cuda and output.is_cuda\n n_elements = output.numel()\n # The SPMD launch grid denotes the number of kernel instances that run in parallel.\n # It is analogous to CUDA launch grids. It can be either Tuple[int], or Callable(metaparameters) -> Tuple[int]\n # In this case, we use a 1D grid where the size is the number of blocks\n grid = lambda meta: (triton.cdiv(n_elements, meta['BLOCK_SIZE']),)\n # NOTE:\n # - each torch.tensor object is implicitly converted into a pointer to its first element.\n # - `triton.jit`'ed functions can be index with a launch grid to obtain a callable GPU kernel\n # - don't forget to pass meta-parameters as keywords arguments\n add_kernel[grid](x, y, output, n_elements, BLOCK_SIZE=1024)\n # We return a handle to z but, since `torch.cuda.synchronize()` hasn't been called, the kernel is still\n # running asynchronously at this point.\n return output"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
@@ -92,7 +92,7 @@ and (2) enqueue the above kernel with appropriate grid/block sizes.
|
||||
# We need to preallocate the output
|
||||
output = torch.empty_like(x)
|
||||
assert x.is_cuda and y.is_cuda and output.is_cuda
|
||||
n_elements = output.shape[0]
|
||||
n_elements = output.numel()
|
||||
# The SPMD launch grid denotes the number of kernel instances that run in parallel.
|
||||
# It is analogous to CUDA launch grids. It can be either Tuple[int], or Callable(metaparameters) -> Tuple[int]
|
||||
# In this case, we use a 1D grid where the size is the number of blocks
|
||||
@@ -234,17 +234,17 @@ We can now run the decorated function above. Pass `print_data=True` to see the p
|
||||
0 4096.0 9.600000 9.600000
|
||||
1 8192.0 19.200000 19.200000
|
||||
2 16384.0 38.400001 38.400001
|
||||
3 32768.0 63.999998 76.800002
|
||||
3 32768.0 63.999998 63.999998
|
||||
4 65536.0 127.999995 127.999995
|
||||
5 131072.0 219.428568 219.428568
|
||||
6 262144.0 384.000001 384.000001
|
||||
6 262144.0 341.333321 384.000001
|
||||
7 524288.0 472.615390 472.615390
|
||||
8 1048576.0 614.400016 614.400016
|
||||
9 2097152.0 722.823517 722.823517
|
||||
10 4194304.0 780.190482 780.190482
|
||||
11 8388608.0 812.429770 812.429770
|
||||
12 16777216.0 833.084721 833.084721
|
||||
13 33554432.0 843.811163 842.004273
|
||||
13 33554432.0 843.811163 843.811163
|
||||
14 67108864.0 849.278610 848.362445
|
||||
15 134217728.0 851.577704 850.656574
|
||||
|
||||
@@ -254,7 +254,7 @@ We can now run the decorated function above. Pass `print_data=True` to see the p
|
||||
|
||||
.. rst-class:: sphx-glr-timing
|
||||
|
||||
**Total running time of the script:** ( 0 minutes 12.966 seconds)
|
||||
**Total running time of the script:** ( 0 minutes 11.041 seconds)
|
||||
|
||||
|
||||
.. _sphx_glr_download_getting-started_tutorials_01-vector-add.py:
|
||||
|
@@ -302,15 +302,15 @@ We will then compare its performance against (1) :code:`torch.softmax` and (2) t
|
||||
N Triton Torch (native) Torch (jit)
|
||||
0 256.0 512.000001 546.133347 186.181817
|
||||
1 384.0 585.142862 585.142862 153.600004
|
||||
2 512.0 630.153853 585.142849 154.566038
|
||||
3 640.0 660.645170 640.000002 158.759699
|
||||
4 768.0 702.171410 664.216187 162.754967
|
||||
2 512.0 630.153853 606.814814 154.566038
|
||||
3 640.0 682.666684 640.000002 160.000000
|
||||
4 768.0 702.171410 664.216187 163.839992
|
||||
.. ... ... ... ...
|
||||
93 12160.0 812.359066 406.179533 198.733401
|
||||
94 12288.0 812.429770 415.661740 198.995960
|
||||
95 12416.0 810.840807 411.296057 198.655991
|
||||
96 12544.0 810.925276 412.971190 198.815254
|
||||
97 12672.0 809.389265 412.097543 198.873965
|
||||
93 12160.0 812.359066 406.179533 199.038365
|
||||
94 12288.0 812.429770 416.101597 199.298541
|
||||
95 12416.0 810.840807 412.149375 198.954424
|
||||
96 12544.0 810.925276 412.971190 199.111113
|
||||
97 12672.0 809.389265 412.097543 199.264875
|
||||
|
||||
[98 rows x 4 columns]
|
||||
|
||||
@@ -328,7 +328,7 @@ In the above plot, we can see that:
|
||||
|
||||
.. rst-class:: sphx-glr-timing
|
||||
|
||||
**Total running time of the script:** ( 1 minutes 12.677 seconds)
|
||||
**Total running time of the script:** ( 1 minutes 13.141 seconds)
|
||||
|
||||
|
||||
.. _sphx_glr_download_getting-started_tutorials_02-fused-softmax.py:
|
||||
|
@@ -462,37 +462,37 @@ We can now compare the performance of our kernel against that of cuBLAS. Here we
|
||||
|
||||
matmul-performance:
|
||||
M cuBLAS ... Triton Triton (+ LeakyReLU)
|
||||
0 256.0 2.730667 ... 3.276800 3.276800
|
||||
1 384.0 7.372800 ... 8.507077 8.507077
|
||||
0 256.0 2.978909 ... 2.978909 2.978909
|
||||
1 384.0 7.372800 ... 8.507077 7.899428
|
||||
2 512.0 14.563555 ... 15.420235 15.420235
|
||||
3 640.0 22.260869 ... 24.380953 24.380953
|
||||
4 768.0 32.768000 ... 34.028308 34.028308
|
||||
5 896.0 39.025776 ... 40.140799 39.025776
|
||||
6 1024.0 49.932191 ... 53.773130 52.428801
|
||||
7 1152.0 44.566925 ... 46.656000 45.938215
|
||||
8 1280.0 51.200001 ... 56.109587 56.109587
|
||||
9 1408.0 64.138541 ... 64.902096 64.138541
|
||||
10 1536.0 78.643199 ... 76.106321 76.106321
|
||||
11 1664.0 62.929456 ... 62.061463 62.061463
|
||||
12 1792.0 72.983276 ... 69.810085 69.379162
|
||||
13 1920.0 69.120002 ... 70.530615 70.530615
|
||||
14 2048.0 73.908442 ... 75.234154 68.487170
|
||||
15 2176.0 82.813365 ... 77.998640 79.855747
|
||||
7 1152.0 44.566925 ... 46.656000 46.656000
|
||||
8 1280.0 51.200001 ... 56.888887 56.109587
|
||||
9 1408.0 64.138541 ... 64.902096 64.902096
|
||||
10 1536.0 80.430545 ... 76.933564 76.106321
|
||||
11 1664.0 63.372618 ... 62.492442 62.492442
|
||||
12 1792.0 72.983276 ... 70.246402 69.810085
|
||||
13 1920.0 65.207547 ... 69.467336 67.764707
|
||||
14 2048.0 73.908442 ... 74.898285 73.584279
|
||||
15 2176.0 82.813365 ... 81.143743 81.143743
|
||||
16 2304.0 68.446623 ... 73.728002 73.501144
|
||||
17 2432.0 71.305746 ... 82.147552 81.908060
|
||||
18 2560.0 77.649287 ... 76.027843 77.465723
|
||||
19 2688.0 78.536346 ... 82.284288 80.880718
|
||||
20 2816.0 82.602666 ... 77.605356 79.443003
|
||||
21 2944.0 81.431424 ... 80.122235 76.670818
|
||||
22 3072.0 81.472093 ... 82.903517 82.181572
|
||||
23 3200.0 83.116885 ... 85.106381 88.642656
|
||||
24 3328.0 84.101981 ... 86.424125 84.895397
|
||||
25 3456.0 81.849303 ... 81.766291 85.950501
|
||||
26 3584.0 87.127323 ... 88.761490 90.549237
|
||||
27 3712.0 85.822459 ... 81.883070 84.088676
|
||||
28 3840.0 84.679936 ... 88.615388 88.402879
|
||||
29 3968.0 92.512459 ... 87.850207 87.787005
|
||||
30 4096.0 93.271527 ... 83.313299 90.626421
|
||||
18 2560.0 77.649287 ... 77.465723 77.465723
|
||||
19 2688.0 80.027544 ... 81.401408 81.576466
|
||||
20 2816.0 81.369790 ... 79.879498 79.443003
|
||||
21 2944.0 83.060049 ... 78.979452 77.265163
|
||||
22 3072.0 82.540970 ... 82.782312 82.181572
|
||||
23 3200.0 82.368085 ... 86.253369 90.523334
|
||||
24 3328.0 83.613586 ... 82.653612 82.088138
|
||||
25 3456.0 81.849303 ... 85.133652 84.775569
|
||||
26 3584.0 87.551500 ... 94.747514 92.220917
|
||||
27 3712.0 81.482335 ... 84.230479 82.971218
|
||||
28 3840.0 81.138664 ... 84.292684 83.027026
|
||||
29 3968.0 89.068569 ... 84.562670 80.864108
|
||||
30 4096.0 92.948562 ... 89.717734 90.018600
|
||||
|
||||
[31 rows x 5 columns]
|
||||
|
||||
@@ -502,7 +502,7 @@ We can now compare the performance of our kernel against that of cuBLAS. Here we
|
||||
|
||||
.. rst-class:: sphx-glr-timing
|
||||
|
||||
**Total running time of the script:** ( 2 minutes 5.134 seconds)
|
||||
**Total running time of the script:** ( 2 minutes 12.082 seconds)
|
||||
|
||||
|
||||
.. _sphx_glr_download_getting-started_tutorials_03-matrix-multiplication.py:
|
||||
|
@@ -5,12 +5,12 @@
|
||||
|
||||
Computation times
|
||||
=================
|
||||
**03:30.777** total execution time for **getting-started_tutorials** files:
|
||||
**03:36.265** total execution time for **getting-started_tutorials** files:
|
||||
|
||||
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
||||
| :ref:`sphx_glr_getting-started_tutorials_03-matrix-multiplication.py` (``03-matrix-multiplication.py``) | 02:05.134 | 0.0 MB |
|
||||
| :ref:`sphx_glr_getting-started_tutorials_03-matrix-multiplication.py` (``03-matrix-multiplication.py``) | 02:12.082 | 0.0 MB |
|
||||
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
||||
| :ref:`sphx_glr_getting-started_tutorials_02-fused-softmax.py` (``02-fused-softmax.py``) | 01:12.677 | 0.0 MB |
|
||||
| :ref:`sphx_glr_getting-started_tutorials_02-fused-softmax.py` (``02-fused-softmax.py``) | 01:13.141 | 0.0 MB |
|
||||
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
||||
| :ref:`sphx_glr_getting-started_tutorials_01-vector-add.py` (``01-vector-add.py``) | 00:12.966 | 0.0 MB |
|
||||
| :ref:`sphx_glr_getting-started_tutorials_01-vector-add.py` (``01-vector-add.py``) | 00:11.041 | 0.0 MB |
|
||||
+---------------------------------------------------------------------------------------------------------+-----------+--------+
|
||||
|
@@ -240,7 +240,7 @@ and (2) enqueue the above kernel with appropriate grid/block sizes.</p>
|
||||
<span class="c1"># We need to preallocate the output</span>
|
||||
<span class="n">output</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">empty_like</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
<span class="k">assert</span> <span class="n">x</span><span class="o">.</span><span class="n">is_cuda</span> <span class="ow">and</span> <span class="n">y</span><span class="o">.</span><span class="n">is_cuda</span> <span class="ow">and</span> <span class="n">output</span><span class="o">.</span><span class="n">is_cuda</span>
|
||||
<span class="n">n_elements</span> <span class="o">=</span> <span class="n">output</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">n_elements</span> <span class="o">=</span> <span class="n">output</span><span class="o">.</span><span class="n">numel</span><span class="p">()</span>
|
||||
<span class="c1"># The SPMD launch grid denotes the number of kernel instances that run in parallel.</span>
|
||||
<span class="c1"># It is analogous to CUDA launch grids. It can be either Tuple[int], or Callable(metaparameters) -> Tuple[int]</span>
|
||||
<span class="c1"># In this case, we use a 1D grid where the size is the number of blocks</span>
|
||||
@@ -322,22 +322,22 @@ for different problem sizes.</p>
|
||||
0 4096.0 9.600000 9.600000
|
||||
1 8192.0 19.200000 19.200000
|
||||
2 16384.0 38.400001 38.400001
|
||||
3 32768.0 63.999998 76.800002
|
||||
3 32768.0 63.999998 63.999998
|
||||
4 65536.0 127.999995 127.999995
|
||||
5 131072.0 219.428568 219.428568
|
||||
6 262144.0 384.000001 384.000001
|
||||
6 262144.0 341.333321 384.000001
|
||||
7 524288.0 472.615390 472.615390
|
||||
8 1048576.0 614.400016 614.400016
|
||||
9 2097152.0 722.823517 722.823517
|
||||
10 4194304.0 780.190482 780.190482
|
||||
11 8388608.0 812.429770 812.429770
|
||||
12 16777216.0 833.084721 833.084721
|
||||
13 33554432.0 843.811163 842.004273
|
||||
13 33554432.0 843.811163 843.811163
|
||||
14 67108864.0 849.278610 848.362445
|
||||
15 134217728.0 851.577704 850.656574
|
||||
</pre></div>
|
||||
</div>
|
||||
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 0 minutes 12.966 seconds)</p>
|
||||
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 0 minutes 11.041 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-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>
|
||||
|
@@ -387,15 +387,15 @@ We will then compare its performance against (1) <code class="code docutils lite
|
||||
N Triton Torch (native) Torch (jit)
|
||||
0 256.0 512.000001 546.133347 186.181817
|
||||
1 384.0 585.142862 585.142862 153.600004
|
||||
2 512.0 630.153853 585.142849 154.566038
|
||||
3 640.0 660.645170 640.000002 158.759699
|
||||
4 768.0 702.171410 664.216187 162.754967
|
||||
2 512.0 630.153853 606.814814 154.566038
|
||||
3 640.0 682.666684 640.000002 160.000000
|
||||
4 768.0 702.171410 664.216187 163.839992
|
||||
.. ... ... ... ...
|
||||
93 12160.0 812.359066 406.179533 198.733401
|
||||
94 12288.0 812.429770 415.661740 198.995960
|
||||
95 12416.0 810.840807 411.296057 198.655991
|
||||
96 12544.0 810.925276 412.971190 198.815254
|
||||
97 12672.0 809.389265 412.097543 198.873965
|
||||
93 12160.0 812.359066 406.179533 199.038365
|
||||
94 12288.0 812.429770 416.101597 199.298541
|
||||
95 12416.0 810.840807 412.149375 198.954424
|
||||
96 12544.0 810.925276 412.971190 199.111113
|
||||
97 12672.0 809.389265 412.097543 199.264875
|
||||
|
||||
[98 rows x 4 columns]
|
||||
</pre></div>
|
||||
@@ -408,7 +408,7 @@ We will then compare its performance against (1) <code class="code docutils lite
|
||||
Note however that the PyTorch <cite>softmax</cite> operation is more general and will works on tensors of any shape.</p></li>
|
||||
</ul>
|
||||
</div></blockquote>
|
||||
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 12.677 seconds)</p>
|
||||
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 13.141 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-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>
|
||||
|
@@ -566,42 +566,42 @@ torch_output=tensor([[ 1.1045, -36.9688, 31.4688, ..., -11.3906, 24.4531, -3
|
||||
<p class="sphx-glr-script-out">Out:</p>
|
||||
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>matmul-performance:
|
||||
M cuBLAS ... Triton Triton (+ LeakyReLU)
|
||||
0 256.0 2.730667 ... 3.276800 3.276800
|
||||
1 384.0 7.372800 ... 8.507077 8.507077
|
||||
0 256.0 2.978909 ... 2.978909 2.978909
|
||||
1 384.0 7.372800 ... 8.507077 7.899428
|
||||
2 512.0 14.563555 ... 15.420235 15.420235
|
||||
3 640.0 22.260869 ... 24.380953 24.380953
|
||||
4 768.0 32.768000 ... 34.028308 34.028308
|
||||
5 896.0 39.025776 ... 40.140799 39.025776
|
||||
6 1024.0 49.932191 ... 53.773130 52.428801
|
||||
7 1152.0 44.566925 ... 46.656000 45.938215
|
||||
8 1280.0 51.200001 ... 56.109587 56.109587
|
||||
9 1408.0 64.138541 ... 64.902096 64.138541
|
||||
10 1536.0 78.643199 ... 76.106321 76.106321
|
||||
11 1664.0 62.929456 ... 62.061463 62.061463
|
||||
12 1792.0 72.983276 ... 69.810085 69.379162
|
||||
13 1920.0 69.120002 ... 70.530615 70.530615
|
||||
14 2048.0 73.908442 ... 75.234154 68.487170
|
||||
15 2176.0 82.813365 ... 77.998640 79.855747
|
||||
7 1152.0 44.566925 ... 46.656000 46.656000
|
||||
8 1280.0 51.200001 ... 56.888887 56.109587
|
||||
9 1408.0 64.138541 ... 64.902096 64.902096
|
||||
10 1536.0 80.430545 ... 76.933564 76.106321
|
||||
11 1664.0 63.372618 ... 62.492442 62.492442
|
||||
12 1792.0 72.983276 ... 70.246402 69.810085
|
||||
13 1920.0 65.207547 ... 69.467336 67.764707
|
||||
14 2048.0 73.908442 ... 74.898285 73.584279
|
||||
15 2176.0 82.813365 ... 81.143743 81.143743
|
||||
16 2304.0 68.446623 ... 73.728002 73.501144
|
||||
17 2432.0 71.305746 ... 82.147552 81.908060
|
||||
18 2560.0 77.649287 ... 76.027843 77.465723
|
||||
19 2688.0 78.536346 ... 82.284288 80.880718
|
||||
20 2816.0 82.602666 ... 77.605356 79.443003
|
||||
21 2944.0 81.431424 ... 80.122235 76.670818
|
||||
22 3072.0 81.472093 ... 82.903517 82.181572
|
||||
23 3200.0 83.116885 ... 85.106381 88.642656
|
||||
24 3328.0 84.101981 ... 86.424125 84.895397
|
||||
25 3456.0 81.849303 ... 81.766291 85.950501
|
||||
26 3584.0 87.127323 ... 88.761490 90.549237
|
||||
27 3712.0 85.822459 ... 81.883070 84.088676
|
||||
28 3840.0 84.679936 ... 88.615388 88.402879
|
||||
29 3968.0 92.512459 ... 87.850207 87.787005
|
||||
30 4096.0 93.271527 ... 83.313299 90.626421
|
||||
18 2560.0 77.649287 ... 77.465723 77.465723
|
||||
19 2688.0 80.027544 ... 81.401408 81.576466
|
||||
20 2816.0 81.369790 ... 79.879498 79.443003
|
||||
21 2944.0 83.060049 ... 78.979452 77.265163
|
||||
22 3072.0 82.540970 ... 82.782312 82.181572
|
||||
23 3200.0 82.368085 ... 86.253369 90.523334
|
||||
24 3328.0 83.613586 ... 82.653612 82.088138
|
||||
25 3456.0 81.849303 ... 85.133652 84.775569
|
||||
26 3584.0 87.551500 ... 94.747514 92.220917
|
||||
27 3712.0 81.482335 ... 84.230479 82.971218
|
||||
28 3840.0 81.138664 ... 84.292684 83.027026
|
||||
29 3968.0 89.068569 ... 84.562670 80.864108
|
||||
30 4096.0 92.948562 ... 89.717734 90.018600
|
||||
|
||||
[31 rows x 5 columns]
|
||||
</pre></div>
|
||||
</div>
|
||||
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes 5.134 seconds)</p>
|
||||
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes 12.082 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-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>
|
||||
|
@@ -174,7 +174,7 @@
|
||||
|
||||
<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>
|
||||
<p><strong>03:30.777</strong> total execution time for <strong>getting-started_tutorials</strong> files:</p>
|
||||
<p><strong>03:36.265</strong> total execution time for <strong>getting-started_tutorials</strong> files:</p>
|
||||
<table class="docutils align-default">
|
||||
<colgroup>
|
||||
<col style="width: 85%" />
|
||||
@@ -183,15 +183,15 @@
|
||||
</colgroup>
|
||||
<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>
|
||||
<td><p>02:05.134</p></td>
|
||||
<td><p>02:12.082</p></td>
|
||||
<td><p>0.0 MB</p></td>
|
||||
</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>
|
||||
<td><p>01:12.677</p></td>
|
||||
<td><p>01:13.141</p></td>
|
||||
<td><p>0.0 MB</p></td>
|
||||
</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>
|
||||
<td><p>00:12.966</p></td>
|
||||
<td><p>00:11.041</p></td>
|
||||
<td><p>0.0 MB</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|