|
2 | 2 |
|
3 | 3 | <html> |
4 | 4 | <head> |
5 | | - <meta charset="utf-8" /> |
6 | | - <link rel="stylesheet" href="../../Static/css/reveal.css" /> |
7 | | - <link |
8 | | - rel="stylesheet" |
9 | | - href="../../Static/css/theme/white.css" |
10 | | - /> |
11 | | - <link rel="stylesheet" href="../../Static/css/custom.css" /> |
12 | | - <link |
13 | | - rel="stylesheet" |
14 | | - href="../../Static/css/atom-one-light.css" |
15 | | - /> |
| 5 | + <meta charset="utf-8"/> |
| 6 | + <link rel="stylesheet" href="../../Static/css/reveal.css"/> |
| 7 | + <link rel="stylesheet" href="../../Static/css/theme/white.css"/> |
| 8 | + <link rel="stylesheet" href="../../Static/css/custom.css"/> |
| 9 | + <link rel="stylesheet" href="../../Static/css/atom-one-light.css"/> |
16 | 10 | <script src="../../node_modules/reveal.js/dist/reveal.js" defer></script> |
17 | 11 | <script src="../../node_modules/reveal.js/dist/plugin/markdown.js" defer></script> |
18 | 12 | <script src="../../node_modules/reveal.js/dist/plugin/highlight.js" defer></script> |
|
112 | 106 | #### Vec class |
113 | 107 | </div> |
114 | 108 | <div class="container"> |
115 | | - <code class="code-100pc"><pre> |
| 109 | + <pre><code class="language-cpp"> |
116 | 110 | template <typename dataT, int numElements> |
117 | 111 | class vec; |
118 | 112 | </code></pre> |
|
129 | 123 | #### Aliases |
130 | 124 | </div> |
131 | 125 | <div class="container"> |
132 | | - <code class="code-100pc"><pre> |
| 126 | + <pre><code class="language-cpp"> |
133 | 127 | using float4 = vec<float, 4>; |
134 | 128 | ... |
135 | 129 | </code></pre> |
|
144 | 138 | #### Vec constructors |
145 | 139 | </div> |
146 | 140 | <div class="container"> |
147 | | - <code class="code-100pc"><pre> |
| 141 | + <pre><code class="language-cpp"> |
148 | 142 | auto f4 = sycl::float4{1.0f, 2.0f, 3.0f, 4.0f}; // {1.0f, 2.0f, 3.0f, 4.0f} |
149 | 143 | </code></pre> |
150 | 144 | </div> |
151 | 145 | <div class="container"> |
152 | | - <code class="code-100pc"><pre> |
| 146 | + <pre><code class="language-cpp"> |
153 | 147 | auto f2 = sycl::float4{2.0f, 3.0f}; // {2.0f, 3.0f} |
154 | 148 | auto f4 = sycl::float4{1.0f, f2, 4.0f}; // {1.0f, 2.0f, 3.0f, 4.0f} |
155 | 149 | </code></pre> |
156 | 150 | </div> |
157 | 151 | <div class="container"> |
158 | | - <code class="code-100pc"><pre> |
| 152 | + <pre><code class="language-cpp"> |
159 | 153 | auto f4 = sycl::float4{0.0f}; // {0.0f, 0.0f, 0.0f, 0.0f} |
160 | 154 | </code></pre> |
161 | 155 | </div> |
|
170 | 164 | #### Vec operators |
171 | 165 | </div> |
172 | 166 | <div class="container"> |
173 | | - <code class="code-100pc"><pre> |
| 167 | + <pre><code class="language-cpp"> |
174 | 168 | auto f4a = sycl::float4{1.0f, 2.0f, 3.0f, 4.0f}; // {1.0f, 2.0f, 3.0f, 4.0f} |
175 | 169 |
|
176 | 170 | auto f4b = sycl::float4{2.0f}; // {2.0f, 2.0f, 2.0f, 2.0f} |
|
188 | 182 | #### Vec types |
189 | 183 | </div> |
190 | 184 | <div class="container"> |
191 | | - <code class="code-100pc"><pre> |
| 185 | + <pre><code class="language-cpp"> |
192 | 186 | sycl::int2 |
193 | 187 | sycl::int3 |
194 | 188 | sycl::int4 |
|
209 | 203 | #### Swizzles |
210 | 204 | </div> |
211 | 205 | <div class="container"> |
212 | | - <code class="code-100pc"><pre> |
| 206 | + <pre><code class="language-cpp"> |
213 | 207 | auto f4 = sycl::float4{1.0f, 2.0f, 3.0f, 4.0f}; // {1.0f, 2.0f, 3.0f, 4.0f} |
214 | 208 | auto f2 = f4.swizzle<0, 3>(); // {1.0f, 4.0f} |
215 | 209 | </code></pre> |
216 | 210 | </div> |
217 | 211 | <div class="container"> |
218 | | - <code class="code-100pc"><pre> |
| 212 | + <pre><code class="language-cpp"> |
219 | 213 | auto f4 = sycl::float4{1.0f, 2.0f, 3.0f, 4.0f}; // {1.0f, 2.0f, 3.0f, 4.0f} |
220 | 214 | f4.swizzle<1, 2>() = sycl::float2{9.0f, 9.0f}; // f4 becomes {1.0f, 9.0f, 9.0f, 4.0f} |
221 | 215 | </code></pre> |
|
230 | 224 | #### Simple swizzles |
231 | 225 | </div> |
232 | 226 | <div class="container"> |
233 | | - <code class="code-100pc"><pre> |
| 227 | + <pre><code class="language-cpp"> |
234 | 228 | auto f4 = sycl::float4{1.0f, 2.0f, 3.0f, 4.0f}; // {1.0f, 2.0f, 3.0f, 4.0f} |
235 | 229 | auto f2 = f4.xw(); // {1.0f, 4.0f} |
236 | 230 | </code></pre> |
237 | 231 | </div> |
238 | 232 | <div class="container"> |
239 | | - <code class="code-100pc"><pre> |
| 233 | + <pre><code class="language-cpp"> |
240 | 234 | auto f4 = sycl::float4{1.0f, 2.0f, 3.0f, 4.0f}; // {1.0f, 2.0f, 3.0f, 4.0f} |
241 | 235 | f4.yz() = sycl::float2{9.0f, 9.0f}; // f4 becomes {1.0f, 9.0f, 9.0f, 4.0f} |
242 | 236 | </code></pre> |
|
250 | 244 | <div class="hbox" data-markdown> |
251 | 245 | #### Vectorized image convolution performance |
252 | 246 | </div> |
253 | | - <div class="container"data-markdown> |
| 247 | + <div class="container" data-markdown> |
254 | 248 |  |
255 | 249 | </div> |
256 | 250 | </section> |
|
0 commit comments