Skip to content

Commit d43258c

Browse files
committed
Replace master branch with page content via GitHub
1 parent f4ff407 commit d43258c

File tree

2 files changed

+79
-39
lines changed

2 files changed

+79
-39
lines changed

index.html

+78-38
Original file line numberDiff line numberDiff line change
@@ -41,61 +41,47 @@ <h3>
4141

4242
<ol>
4343
<li>
44-
<p>Introduction to Heterogeneous Parallel Computing</p>
44+
<p><strong>Introduction to Heterogeneous Parallel Computing</strong></p>
4545

46-
<ul>
47-
<li>Setting up your OpenCL environment (AMD, Intel, NVIDIA)</li>
48-
</ul>
46+
<p>Setting up your OpenCL environment (AMD, Intel, NVIDIA)</p>
4947
</li>
50-
<li><p>An overview of OpenCL</p></li>
48+
<li><p><strong>An overview of OpenCL</strong></p></li>
5149
<li>
52-
<p>Important OpenCL concepts</p>
50+
<p><strong>Important OpenCL concepts</strong></p>
5351

54-
<ul>
55-
<li>Platforms, contexts, programs, queues, buffers and kernels</li>
56-
<li>NDRanges, Work‐Groups, Work-Items<br>
57-
</li>
58-
</ul>
52+
<p>Platforms, contexts, programs, queues, buffers and kernels</p>
53+
54+
<p>NDRanges, Work‐Groups, Work-Items </p>
5955
</li>
6056
<li>
61-
<p>Overview of OpenCL APIs</p>
57+
<p><strong>Overview of OpenCL APIs</strong></p>
6258

63-
<ul>
64-
<li>C, C++ and Python </li>
65-
</ul>
59+
<p>C, C++ and Python </p>
6660
</li>
67-
<li><p>Introducing OpenCL kernel programming</p></li>
68-
<li><p>Understanding the OpenCL memory hierarchy</p></li>
61+
<li><p><strong>Introducing OpenCL kernel programming</strong></p></li>
62+
<li><p><strong>Understanding the OpenCL memory hierarchy</strong></p></li>
6963
<li>
70-
<p>Synchronization in OpenCL</p>
64+
<p><strong>Synchronization in OpenCL</strong></p>
7165

72-
<ul>
73-
<li>Events and barriers</li>
74-
</ul>
66+
<p>Events and barriers</p>
7567
</li>
7668
<li>
77-
<p>Heterogeneous computing with OpenCL</p>
69+
<p><strong>Heterogeneous computing with OpenCL</strong></p>
7870

79-
<ul>
80-
<li>Using CPUs and GPUs simultaneously, multiple platforms and devices</li>
81-
</ul>
71+
<p>Using CPUs and GPUs simultaneously, multiple platforms and devices</p>
8272
</li>
8373
<li>
84-
<p>Optimizing OpenCL performance</p>
74+
<p><strong>Optimizing OpenCL performance</strong></p>
8575

86-
<ul>
87-
<li>Profiling </li>
88-
</ul>
76+
<p>Profiling </p>
8977
</li>
9078
<li>
91-
<p>Enabling portable performance via OpenCL</p>
79+
<p><strong>Enabling portable performance via OpenCL</strong></p>
9280

93-
<ul>
94-
<li>Autotuning</li>
95-
</ul>
81+
<p>Autotuning</p>
9682
</li>
97-
<li><p>Debugging OpenCL</p></li>
98-
<li><p>Porting CUDA to OpenCL</p></li>
83+
<li><p><strong>Debugging OpenCL</strong></p></li>
84+
<li><p><strong>Porting CUDA to OpenCL</strong></p></li>
9985
</ol><h3>
10086
<a name="examples" class="anchor" href="#examples"><span class="octicon octicon-link"></span></a>Examples</h3>
10187

@@ -104,12 +90,66 @@ <h3>
10490
<p><code>git clone git://github.com/HandsOnOpenCL/Exercises-Solutions.git</code></p>
10591

10692
<ol>
107-
<li>Example 1</li>
108-
<li>Example 2</li>
93+
<li>
94+
<p><strong>Platform Information</strong></p>
95+
96+
<p>Run a simple OpenCL program to give you some key facts about the devices available in your system.</p>
97+
</li>
98+
<li>
99+
<p><strong>VADD - The OpenCL "Hello World"</strong></p>
100+
101+
<p>Start by looking at the C API for this program which introduces the OpenCL computational model.</p>
102+
</li>
103+
<li><p><strong>VADD - Now in C++ and Python</strong></p></li>
104+
<li>
105+
<p><strong>Chaining vector add kernels</strong></p>
106+
107+
<p>Extend VADD to compute C=A+B; D=C+E; F=D+G by running the kernel multiple times.</p>
108+
</li>
109+
<li>
110+
<p><strong>Extend VADD for D = A + B + C</strong></p>
111+
112+
<p>Extend the VADD kernel to compute a different sum.</p>
113+
</li>
114+
<li>
115+
<p><strong>Matrix Multiplication</strong></p>
116+
117+
<p>Write your first OpenCL kernel from scratch.</p>
118+
</li>
119+
<li>
120+
<p><strong>Optimize memory movement costs for Matrix Multiplication</strong></p>
121+
122+
<p>Use local and private memory to minimize memory costs.</p>
123+
</li>
124+
<li>
125+
<p><strong>The Pi program</strong></p>
126+
127+
<p>Estimate Pi by integration.</p>
128+
</li>
129+
<li>
130+
<p><strong>Heterogeneous Computing</strong></p>
131+
132+
<p>Run your kernels on many devices.</p>
133+
</li>
134+
<li>
135+
<p><strong>Profiling OpenCL programs</strong></p>
136+
137+
<p>Experiment making things run faster.</p>
138+
</li>
139+
<li>
140+
<p><strong>Optimize matrix multiplication</strong></p>
141+
142+
<p>Look at portable performance (combining 9. and 10.)</p>
143+
</li>
144+
<li>
145+
<p><strong>Porting CUDA to OpenCL</strong></p>
146+
147+
<p>Convert a simple CUDA application to OpenCL (program TBA).</p>
148+
</li>
109149
</ol><h3>
110150
<a name="authors-and-contributors" class="anchor" href="#authors-and-contributors"><span class="octicon octicon-link"></span></a>Authors and Contributors</h3>
111151

112-
<p>Simon McIntosh-Smith</p>
152+
<p>Simon McIntosh-Smith, University of Bristol</p>
113153

114154
<p>Tom Deakin (<a href="https://github.com/tomdeakin" class="user-mention">@tomdeakin</a>)</p>
115155

params.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"name":"Hands On OpenCL","tagline":"An open source two-day lecture course for teaching and learning OpenCL","body":"**Note: This is a pre-release, in production version of the lecture material**\r\n\r\nCheck back soon for the final release!\r\n\r\n### Welcome\r\nIntroductory paragraph about the course\r\n\r\n### Course Structure\r\n1. Introduction to Heterogeneous Parallel Computing\r\n * Setting up your OpenCL environment (AMD, Intel, NVIDIA)\r\n\r\n2. An overview of OpenCL\r\n\r\n3. Important OpenCL concepts\r\n * Platforms, contexts, programs, queues, buffers and kernels\r\n * NDRanges, Work‐Groups, Work-Items\t\r\n \r\n4. Overview of OpenCL APIs\r\n * C, C++ and Python\t\r\n \r\n5. Introducing OpenCL kernel programming\r\n \r\n6. Understanding the OpenCL memory hierarchy\r\n \r\n7. Synchronization in OpenCL\r\n * Events and barriers\r\n \r\n8. Heterogeneous computing with OpenCL\r\n * Using CPUs and GPUs simultaneously, multiple platforms and devices\r\n \r\n9. Optimizing OpenCL performance\r\n * Profiling\t\r\n \r\n10. Enabling portable performance via OpenCL\r\n * Autotuning\r\n \r\n11. Debugging OpenCL\r\n \r\n12. Porting CUDA to OpenCL\r\n \r\n\r\n### Examples\r\nDownload the examples by checking out the git repository with the command:\r\n\r\n`git clone git://github.com/HandsOnOpenCL/Exercises-Solutions.git`\r\n\r\n1. Example 1\r\n1. Example 2\r\n\r\n### Authors and Contributors\r\nSimon McIntosh-Smith\r\n\r\nTom Deakin (@tomdeakin)\r\n\r\n### Support or Contact\r\nFound a bug or with to suggest an update to the material?\r\nPlease submit a new Issue in the relevant repository.\r\n\r\nFixed a bug yourself? Please submit a pull request. Thanks.","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
1+
{"name":"Hands On OpenCL","tagline":"An open source two-day lecture course for teaching and learning OpenCL","body":"**Note: This is a pre-release, in production version of the lecture material**\r\n\r\nCheck back soon for the final release!\r\n\r\n### Welcome\r\nIntroductory paragraph about the course\r\n\r\n### Course Structure\r\n1. **Introduction to Heterogeneous Parallel Computing**\r\n\r\n Setting up your OpenCL environment (AMD, Intel, NVIDIA)\r\n\r\n2. **An overview of OpenCL**\r\n\r\n3. **Important OpenCL concepts**\r\n\r\n Platforms, contexts, programs, queues, buffers and kernels\r\n\r\n NDRanges, Work‐Groups, Work-Items\t\r\n \r\n4. **Overview of OpenCL APIs**\r\n\r\n C, C++ and Python\t\r\n \r\n5. **Introducing OpenCL kernel programming**\r\n \r\n6. **Understanding the OpenCL memory hierarchy**\r\n \r\n7. **Synchronization in OpenCL**\r\n\r\n Events and barriers\r\n \r\n8. **Heterogeneous computing with OpenCL**\r\n\r\n Using CPUs and GPUs simultaneously, multiple platforms and devices\r\n \r\n9. **Optimizing OpenCL performance**\r\n\r\n Profiling\t\r\n \r\n10. **Enabling portable performance via OpenCL**\r\n\r\n Autotuning\r\n \r\n11. **Debugging OpenCL**\r\n \r\n12. **Porting CUDA to OpenCL**\r\n \r\n\r\n### Examples\r\nDownload the examples by checking out the git repository with the command:\r\n\r\n`git clone git://github.com/HandsOnOpenCL/Exercises-Solutions.git`\r\n\r\n1. **Platform Information**\r\n\r\n Run a simple OpenCL program to give you some key facts about the devices available in your system.\r\n\r\n\r\n2. **VADD - The OpenCL \"Hello World\"**\r\n\r\n Start by looking at the C API for this program which introduces the OpenCL computational model.\r\n\r\n\r\n3. **VADD - Now in C++ and Python**\r\n\r\n\r\n4. **Chaining vector add kernels**\r\n\r\n Extend VADD to compute C=A+B; D=C+E; F=D+G by running the kernel multiple times.\r\n\r\n\r\n5. **Extend VADD for D = A + B + C**\r\n\r\n Extend the VADD kernel to compute a different sum.\r\n\r\n\r\n6. **Matrix Multiplication**\r\n\r\n Write your first OpenCL kernel from scratch.\r\n\r\n\r\n7. **Optimize memory movement costs for Matrix Multiplication**\r\n\r\n Use local and private memory to minimize memory costs.\r\n\r\n\r\n8. **The Pi program**\r\n\r\n Estimate Pi by integration.\r\n\r\n\r\n9. **Heterogeneous Computing**\r\n\r\n Run your kernels on many devices.\r\n\r\n\r\n10. **Profiling OpenCL programs**\r\n\r\n Experiment making things run faster.\r\n\r\n\r\n11. **Optimize matrix multiplication**\r\n\r\n Look at portable performance (combining 9. and 10.)\r\n\r\n\r\n12. **Porting CUDA to OpenCL**\r\n\r\n Convert a simple CUDA application to OpenCL (program TBA).\r\n\r\n### Authors and Contributors\r\nSimon McIntosh-Smith, University of Bristol\r\n\r\nTom Deakin (@tomdeakin)\r\n\r\n### Support or Contact\r\nFound a bug or with to suggest an update to the material?\r\nPlease submit a new Issue in the relevant repository.\r\n\r\nFixed a bug yourself? Please submit a pull request. Thanks.","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}

0 commit comments

Comments
 (0)