BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260622T060747Z
UID:50f64a7b-b8ed-4dff-9f22-a513d6784ea2
DTSTART:20120828T060000Z
DTEND:20120830T160000Z
DESCRIPTION:Graphics Processing Units (GPUs) were originally designed to di
 splay computer graphics\, but they have developed into extremely powerful 
 chips capable of handling demanding\, general-purpose calculations. The GP
 U architecture is inherently is more suited to many types of intensive par
 allel computations than the traditional CPU\, and hence computationally de
 manding sections of code can be accelerated to significantly increase over
 all performance. This is true not just for small-scale applications run on
  desktop size machines\, but also for the largest-scale applications on ma
 ssively parallel architectures. For example\, the newly announced Cray XK6
  supercomputer allows thousands of NVIDIA GPUs to be exploited in parallel
  to tackle grand challenge problems.\n\nApplications must be adapted to ut
 ilise GPUs: most lines of application source code are executed on the CPU 
 and key computational kernels are distributed to the GPU cores. Currently\
 , for NVIDIA GPUs\, the most popular programming method is the CUDA API\, 
 which is extremely powerful but requires significant development effort. O
 penCL is an alternative API\, which is less mature than CUDA but has porta
 bility advantages. Recently\, a new higher-level standard has emerged\, Op
 enACC\, which promises to offer higher productivity. The programmer uses 
 “directives” in the code to provide the compiler with the information 
 required to automatically offload code to the GPU.\n\nIn this 3-day course
  we will introduce and provide hands-on experience of CUDA\, OpenCL (with 
 more emphasis on the former) and OpenACC. In many cases it is relatively s
 traightforward to port a code to the GPU\, but much harder to obtain good 
 performance: we will cover a range of common GPU optimisation techniques.\
 n\nNo prior HPC or parallel programming knowledge is assumed\, but attende
 es must already be able to program in C\, C++ or Fortran. Access will be g
 iven to appropriate hardware for all the exercises.\n\nThis course is free
  to all academics.\n\nPre-requisite Programming Languages\n\nFortran\, C o
 r C++. It is not possible to complete the exercises in Java.\n\nPractical 
 Templates and Documentation:\nCUDA and OpenCL\n\nExample Timetable\nDay 1\
 n\n09:00 Registration\n09:30 Lecture: Introduction and GPU Architecture\n1
 0:15 Lecture: Programming with CUDA\n11:00 break\n11:30 Practical: Getting
  started with CUDA\n12:30 lunch\n13:30 Lecture: GPU Optimisation\n14:00 Pr
 actical: Optimising a CUDA application\n15:00 break\n15:30 Case study: Sca
 ling an Application to a Thousand GPUs and Beyond\n16:30 close\nDay 2\n\n0
 9:00 Lecture: Programming with OpenCL\n09:45 Practical: OpenCL programming
  *or* continue CUDA practical\n11:00 break\n11:30 Practical (cont.)\n12:15
  lunch\n13:00 OpenACC Welcome and overview\n13:15 OpenACC Session 1: An In
 troduction to OpenACC\n13:15 Lecture: The OpenACC programming model\n14:15
  Practical: compiling and running a sample OpenACC code\n14:45 break\n15:1
 5 OpenACC Session 2: Accelerating a simple code\n15:15 Worked example: Ope
 nACC-ing a simple code\n15:45 Practical: accelerating the simple code\n16:
 30 close\nDay 3\n\n09:00 OpenACC Session 3: Accelerating a larger code\n09
 :00 Lecture: Preparing to OpenACC a code\n09:45 Worked example: OpenACC-in
 g a larger code\n10:15 Practical: preparing and accelerating a larger appl
 ication\n10:45 break\n11:15 Nvidia Roadmap Update (Timothy Lanfear)\n12:30
  lunch\n13:30 OpenACC Session 4: Improving OpenACC performance\n13:30 Lect
 ure: OpenACC performance tuning and interoperability\n14:15 Practical: con
 tinuing to accelerate a larger code\n15:00 break\n15:30 OpenACC Session 6:
  OpenACC for parallel applications\n15:30 Case study: the parallel Multigr
 id and Himeno codes\n16:15 Summary and outlook\n16:30 close\n\nhttps://eve
 nts.prace-ri.eu/event/165/
SUMMARY:GPU Programming Workshop @ EPCC
URL;VALUE=URI:https://events.prace-ri.eu/event/165/
END:VEVENT
END:VCALENDAR
