|
148 | 148 | <div class="hbox" data-markdown>
|
149 | 149 | #### Row-major vs Column-major
|
150 | 150 | </div>
|
151 |
| - <div class="container" data-markdown> |
152 |
| -  |
153 |
| - </div> |
154 |
| - </section> |
155 |
| - <!--Slide 12--> |
156 |
| - <section> |
157 |
| - <div class="hbox" data-markdown> |
158 |
| - #### Row-major vs Column-major |
159 |
| - </div> |
160 |
| - <div class="container" data-markdown> |
161 |
| -  |
162 |
| - </div> |
163 | 151 | </section>
|
164 |
| - <!--Slide 13--> |
165 | 152 | <section>
|
166 |
| - <div class="hbox" data-markdown> |
167 |
| - #### Row-major vs Column-major |
168 |
| - </div> |
169 | 153 | <div class="container" data-markdown>
|
170 |
| -  |
| 154 | +  |
171 | 155 | </div>
|
172 | 156 | </section>
|
173 |
| - <!--Slide 14--> |
| 157 | + <!--Slide 12--> |
174 | 158 | <section>
|
175 |
| - <div class="hbox" data-markdown> |
176 |
| - #### Row-major vs Column-major |
177 |
| - </div> |
178 | 159 | <div class="container" data-markdown>
|
179 |
| -  |
| 160 | +  |
180 | 161 | </div>
|
181 | 162 | </section>
|
182 |
| - <!--Slide 15--> |
| 163 | + <!--Slide 13--> |
183 | 164 | <section>
|
184 |
| - <div class="hbox" data-markdown> |
185 |
| - #### Row-major vs Column-major |
186 |
| - </div> |
187 | 165 | <div class="container" data-markdown>
|
188 |
| -  |
| 166 | +  |
189 | 167 | </div>
|
190 | 168 | </section>
|
191 | 169 | <!--Slide 16-->
|
|
299 | 277 | </div>
|
300 | 278 | </section>
|
301 | 279 | <!--Slide 28-->
|
| 280 | + <section> |
| 281 | + <div class="hbox" data-markdown> |
| 282 | + #### Vec types |
| 283 | + </div> |
| 284 | + <div class="container"> |
| 285 | + <code class="code-100pc"><pre> |
| 286 | +auto f4 = sycl::float4{1.0f, 2.0f, 3.0f, 4.0f}; // {1.0f, 2.0f, 3.0f, 4.0f} |
| 287 | + </code></pre> |
| 288 | + </div> |
| 289 | + <div class="container"> |
| 290 | + <code class="code-100pc"><pre> |
| 291 | +auto f2 = sycl::float2{2.0f, 3.0f}; // {2.0f, 3.0f} |
| 292 | +auto f4 = sycl::float4{1.0f, f2, 4.0f}; // {1.0f, 2.0f, 3.0f, 4.0f} |
| 293 | + </code></pre> |
| 294 | + </div> |
| 295 | + <div class="container"> |
| 296 | + <code class="code-100pc"><pre> |
| 297 | +auto f4 = sycl::float4{0.0f}; // {0.0f, 0.0f, 0.0f, 0.0f} |
| 298 | + </code></pre> |
| 299 | + </div> |
| 300 | + <div class="container" data-markdown> |
| 301 | + * A `vec` can be constructed with any combination of scalar and vector values which add up to the correct number of elements. |
| 302 | + * A `vec` can also be constructed from a single scalar in which case it will initialize every element to that value. |
| 303 | + </div> |
| 304 | + </section> |
| 305 | + <!--Slide 11--> |
| 306 | + <section> |
| 307 | + <div class="hbox" data-markdown> |
| 308 | + #### Vec operators |
| 309 | + </div> |
| 310 | + <div class="container"> |
| 311 | + <code class="code-100pc"><pre> |
| 312 | +auto f4a = sycl::float4{1.0f, 2.0f, 3.0f, 4.0f}; // {1.0f, 2.0f, 3.0f, 4.0f} |
| 313 | + |
| 314 | +auto f4b = sycl::float4{2.0f}; // {2.0f, 2.0f, 2.0f, 2.0f} |
| 315 | + |
| 316 | +auto f4r = f4a * f4b; // {2.0f, 4.0f, 6.0f, 8.0f} |
| 317 | + </code></pre> |
| 318 | + </div> |
| 319 | + <div class="container" data-markdown> |
| 320 | + * The `vec` class provides a number of operators such as `+`, `-`, `*`, `/` and many more, which perform the operation elemeent-wise. |
| 321 | + </div> |
| 322 | + </section> |
| 323 | + <section> |
| 324 | + <div class="hbox" data-markdown> |
| 325 | + #### Vec sizes |
| 326 | + </div> |
| 327 | + <div class="container"> |
| 328 | + <code class="code-100pc"><pre> |
| 329 | +sycl::int2 |
| 330 | +sycl::int3 (N.B sizeof(int3) == sizeof(int4)) |
| 331 | +sycl::int4 |
| 332 | +sycl::int8 |
| 333 | +sycl::int16</code></pre> |
| 334 | + </div> |
| 335 | + <div class="container" data-markdown> |
| 336 | + * Vectors can be made from all char, integer or floating point types. |
| 337 | + * Using vector types: |
| 338 | + * Can make code more readable |
| 339 | + * Can give better memory access patterns. |
| 340 | + </div> |
| 341 | + </section> |
302 | 342 | <section>
|
303 | 343 | <div class="hbox" data-markdown>
|
304 | 344 | ## Questions
|
|
0 commit comments