{"id":987,"date":"2012-04-12T11:38:43","date_gmt":"2012-04-12T09:38:43","guid":{"rendered":"http:\/\/oldblogs.uct.ac.za\/blog\/big-bytes\/2012\/04\/12\/hpc-honours-course-at-uct"},"modified":"2015-08-14T13:13:27","modified_gmt":"2015-08-14T11:13:27","slug":"hpc-honours-course-at-uct","status":"publish","type":"post","link":"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/","title":{"rendered":"HPC Honours Course at UCT"},"content":{"rendered":"<div>UCT Computer Science are offering an honours course in Desktop High-Performance Computing: comparative parallel programming languages for multicore and accelerator architectures. \u00a0This course is open to non-CS and non-UCT people and will run in Room 303 of the CS Building all day from the 23rd to the 26th April, with an assignment afterwards.<\/div>\r\n<div><\/div>\r\n<div>The course description is attached below. \u00a0Interested students to contact\u00a0<a href=\"mailto:\/\/mkuttel@cs.uct.ac.za\">Dr Kuttel<\/a>\u00a0if they would like to attend.<\/div>\r\n<div><\/div>\r\n<h4 style=\"text-align: center;\" align=\"center\"><strong><span style=\"font-size: 12pt; font-family: Arial;\">Desktop High-Performance Computing: comparative parallel\r\nprogramming languages for multicore and accelerator architectures.<\/span><\/strong><\/h4>\r\n<h4><strong><span style=\"font-family: Arial;\">Prerequisites<\/span><\/strong>:<span style=\"font-weight: normal;\"> Reasonable\r\nproficiency with C or C++ (or Python!)<\/span><\/h4>\r\n<h4><strong><span style=\"font-family: Arial;\">Course Objectives<\/span><\/strong><strong>:<\/strong><span style=\"font-weight: normal;\"> Single-core CPU clock speeds have\r\nflatlined at 70-100 GFLOPs and are no longer doubling every eighteen months.\r\nMulticore architectures are now\r\nubiquitous and commodity Graphical Processing Units (GPUs) have\r\novertaken CPUs in terms of processing power, with performance in the 900-1200\r\nGFLOP range. This is the era of multicores and accelerators.\u00a0 As a result, parallel and multithreaded\r\ncomputing is becoming increasingly important for effective software\r\ndevelopment.\u00a0 However, knowledge and\r\nexperience of both parallel algorithms and architectures is required in order\r\nto program a parallel computer effectively, particularly in the case of complex\r\nhybrid accelerator\/multicore machines.\u00a0 <\/span><\/h4>\r\n<h4><span style=\"font-weight: normal;\">This course will consider the practical development of algorithms and\r\nassociated coding in boith the OpenMP and CUDA programming environment, for\r\neffective general purpose computing with multiple cores and GPUs.<\/span><\/h4>\r\n<h4><strong><span style=\"font-family: Arial;\">Credits<\/span><\/strong><strong>:<\/strong><span style=\"font-weight: normal;\"> 3 credits (A one week intesive\r\ncourse, with 5 days of lectures and workshops, followed by an assignment)<\/span><\/h4>\r\n<h4><strong><span style=\"font-family: Arial;\">Lecturer or Convener:<\/span><\/strong><span style=\"font-weight: normal;\">\r\nJames Gain, Michelle Kuttel and Patrick Marais<\/span><\/h4>\r\n<h4><strong>Course Contents:<\/strong><span style=\"font-weight: normal;\"> This module\r\ncovers the following areas:<\/span><\/h4>\r\n&nbsp;\r\n<ul>\r\n\t<li>A overview of parallel computing, with a history of parallel computing in general, clusters, multicore and accelerators (1 lecture).<\/li>\r\n\t<li>Parallel architectures \u2013 clusters, multicore machines and accelerators. (1 lecture)<\/li>\r\n\t<li>General comparison of parallel programming models and methods, with focus on OpenMP and CUDA. (1 lecture)<\/li>\r\n\t<li>Thinking in parallel: Parallel algorithms and applications (N-body, finance, image processing) (2 lectures)<\/li>\r\n\t<li>The OpenMP approach to multithreaded computing ( 2 lectures)<\/li>\r\n\t<li>A motivation for general purpose computation on GPUs (GPGPU) (1 lecture)<\/li>\r\n\t<li>The CUDA approach to multithreaded computing (1 lecture)<\/li>\r\n\t<li>CUDA threading and memory models (2 lectures)<\/li>\r\n\t<li>CUDA performance optimization (1 lecture)<\/li>\r\n\t<li>Benchmarking, profiling and proving parallel performance (2 lectures)<\/li>\r\n<\/ul>\r\n&nbsp;\r\n\r\n<span style=\"font-family: Arial;\"><strong>Practical Assignments:<\/strong> <\/span>There\r\nwill be in-class assignments to complete as part of the workshops and a single\r\ntake-home assignment after the course.\r\n<h4><strong><span style=\"font-family: Arial;\">Assessment<\/span><\/strong>:<span style=\"font-weight: normal;\">\r\nAssignment (50%), Exam (50%) <\/span><\/h4>\r\n<div><span style=\"font-size: small;\"><strong><span style=\"font-family: Arial;\">Prescribed\/Recommended Book<\/span><\/strong><strong><span style=\"font-family: Arial;\">:<\/span><\/strong><span style=\"font-family: Arial;\">\r\nThere is no prescribed book, but notes will be provided.<\/span>\u00a0<\/span><\/div>","protected":false},"excerpt":{"rendered":"<p>    UCT Computer Science are offering an honours course in Desktop High-Performance Computing: comparative parallel programming languages for multicore and accelerator architectures. &nbsp;This course is open to non-CS and non-UCT people and will run &#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>HPC Honours Course at UCT - UCT HPC<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HPC Honours Course at UCT - UCT HPC\" \/>\n<meta property=\"og:description\" content=\"UCT Computer Science are offering an honours course in Desktop High-Performance Computing: comparative parallel programming languages for multicore and accelerator architectures. &nbsp;This course is open to non-CS and non-UCT people and will run ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/\" \/>\n<meta property=\"og:site_name\" content=\"UCT HPC\" \/>\n<meta property=\"article:published_time\" content=\"2012-04-12T09:38:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-08-14T11:13:27+00:00\" \/>\n<meta name=\"author\" content=\"Andrew Lewis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andrew Lewis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/\"},\"author\":{\"name\":\"Andrew Lewis\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/c183ad1c0a1063124a72d63963ae9c7e\"},\"headline\":\"HPC Honours Course at UCT\",\"datePublished\":\"2012-04-12T09:38:43+00:00\",\"dateModified\":\"2015-08-14T11:13:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/\"},\"wordCount\":393,\"publisher\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#organization\"},\"articleSection\":[\"hpc\"],\"inLanguage\":\"en-ZA\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/\",\"url\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/\",\"name\":\"HPC Honours Course at UCT - UCT HPC\",\"isPartOf\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#website\"},\"datePublished\":\"2012-04-12T09:38:43+00:00\",\"dateModified\":\"2015-08-14T11:13:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/#breadcrumb\"},\"inLanguage\":\"en-ZA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ucthpc.uct.ac.za\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HPC Honours Course at UCT\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#website\",\"url\":\"https:\/\/ucthpc.uct.ac.za\/\",\"name\":\"UCT HPC\",\"description\":\"University of Cape Town High Performance Computing\",\"publisher\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ucthpc.uct.ac.za\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-ZA\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#organization\",\"name\":\"University of Cape Town High Performance Computing\",\"url\":\"https:\/\/ucthpc.uct.ac.za\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-ZA\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ucthpc.uct.ac.za\/wp-content\/uploads\/2015\/09\/logocircless.png\",\"contentUrl\":\"https:\/\/ucthpc.uct.ac.za\/wp-content\/uploads\/2015\/09\/logocircless.png\",\"width\":450,\"height\":423,\"caption\":\"University of Cape Town High Performance Computing\"},\"image\":{\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/c183ad1c0a1063124a72d63963ae9c7e\",\"name\":\"Andrew Lewis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-ZA\",\"@id\":\"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9652c9c73beeab594b8dc2383a880048?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9652c9c73beeab594b8dc2383a880048?s=96&d=mm&r=g\",\"caption\":\"Andrew Lewis\"},\"sameAs\":[\"http:\/\/blogs.uct.ac.za\/blog\/big-bytes\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"HPC Honours Course at UCT - UCT HPC","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/","og_locale":"en_US","og_type":"article","og_title":"HPC Honours Course at UCT - UCT HPC","og_description":"UCT Computer Science are offering an honours course in Desktop High-Performance Computing: comparative parallel programming languages for multicore and accelerator architectures. &nbsp;This course is open to non-CS and non-UCT people and will run ...","og_url":"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/","og_site_name":"UCT HPC","article_published_time":"2012-04-12T09:38:43+00:00","article_modified_time":"2015-08-14T11:13:27+00:00","author":"Andrew Lewis","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Andrew Lewis","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/#article","isPartOf":{"@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/"},"author":{"name":"Andrew Lewis","@id":"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/c183ad1c0a1063124a72d63963ae9c7e"},"headline":"HPC Honours Course at UCT","datePublished":"2012-04-12T09:38:43+00:00","dateModified":"2015-08-14T11:13:27+00:00","mainEntityOfPage":{"@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/"},"wordCount":393,"publisher":{"@id":"https:\/\/ucthpc.uct.ac.za\/#organization"},"articleSection":["hpc"],"inLanguage":"en-ZA"},{"@type":"WebPage","@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/","url":"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/","name":"HPC Honours Course at UCT - UCT HPC","isPartOf":{"@id":"https:\/\/ucthpc.uct.ac.za\/#website"},"datePublished":"2012-04-12T09:38:43+00:00","dateModified":"2015-08-14T11:13:27+00:00","breadcrumb":{"@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/#breadcrumb"},"inLanguage":"en-ZA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ucthpc.uct.ac.za\/index.php\/2012\/04\/12\/hpc-honours-course-at-uct\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ucthpc.uct.ac.za\/"},{"@type":"ListItem","position":2,"name":"HPC Honours Course at UCT"}]},{"@type":"WebSite","@id":"https:\/\/ucthpc.uct.ac.za\/#website","url":"https:\/\/ucthpc.uct.ac.za\/","name":"UCT HPC","description":"University of Cape Town High Performance Computing","publisher":{"@id":"https:\/\/ucthpc.uct.ac.za\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ucthpc.uct.ac.za\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-ZA"},{"@type":"Organization","@id":"https:\/\/ucthpc.uct.ac.za\/#organization","name":"University of Cape Town High Performance Computing","url":"https:\/\/ucthpc.uct.ac.za\/","logo":{"@type":"ImageObject","inLanguage":"en-ZA","@id":"https:\/\/ucthpc.uct.ac.za\/#\/schema\/logo\/image\/","url":"https:\/\/ucthpc.uct.ac.za\/wp-content\/uploads\/2015\/09\/logocircless.png","contentUrl":"https:\/\/ucthpc.uct.ac.za\/wp-content\/uploads\/2015\/09\/logocircless.png","width":450,"height":423,"caption":"University of Cape Town High Performance Computing"},"image":{"@id":"https:\/\/ucthpc.uct.ac.za\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/c183ad1c0a1063124a72d63963ae9c7e","name":"Andrew Lewis","image":{"@type":"ImageObject","inLanguage":"en-ZA","@id":"https:\/\/ucthpc.uct.ac.za\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9652c9c73beeab594b8dc2383a880048?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9652c9c73beeab594b8dc2383a880048?s=96&d=mm&r=g","caption":"Andrew Lewis"},"sameAs":["http:\/\/blogs.uct.ac.za\/blog\/big-bytes"]}]}},"_links":{"self":[{"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/posts\/987"}],"collection":[{"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/comments?post=987"}],"version-history":[{"count":2,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/posts\/987\/revisions"}],"predecessor-version":[{"id":2181,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/posts\/987\/revisions\/2181"}],"wp:attachment":[{"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/media?parent=987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/categories?post=987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ucthpc.uct.ac.za\/index.php\/wp-json\/wp\/v2\/tags?post=987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}