The first of NVIDIA's free online OpenACC course (Download / Stream, Slides,Q&A), lab (in C/C++ or Fortran), and online "office hours" (Download / Stream, Slides) is available to everyone! OpenACC is a programming approach designed to minimize developer effort while delivering performance portability on x86 CPUs and GPUs. The 8-week online OpenACC course described on … [Read more...]
Learn to Make Windows 10 Apps with Free Microsoft Course Then Add GPU Acceleration!
Free Windows courses by themselves are not newsworthy, but those who wish to create Windows 10 apps for the Windows Marketplace - AND exploit the power of CUDA and OpenCL computing via C# should find the Free Microsoft course in combination with the TechEnablement tutorial "Combine C-Sharp With CUDA and OpenCL On Linux, iOS, Android and Windows" an enabling pair of … [Read more...]
Free Online OpenACC Course Starting Oct. 1 2015
NVIDIA is providing a free, interactive, online OpenACC course starting on October 1, 2015. The course is made up of four instructor-led classes that include interactive lectures, hands-on exercises, and live office hours with the instructors. Register here! Classes start at 9am PT on Thursdays and "Office Hours" are 9AM PT on Tuesdays. All sessions will be recorded for … [Read more...]
PGI Compiled OpenACC ILP Loop Beats CUDA-7 by 200 GF/s on Deep-learning PCA Example
The PGI OpenACC compiler beat the performance of a CUDA 7.0 NVIDIA nvcc compiled deep-learning based PCA (Principal Components Analysis) example by 200 GF/s on a K40c using an ILP (Instruction Level Parallelism) loop structure taught in the TechEnablement classes and forthcoming Farber OpenACC book. PCA is an important data analysis tool utilized by data scientists. Sign up for … [Read more...]
Free IEEE OpenACC Webinar Using the PGI Compiler
Register here to view a recent Dec. 11, 2014 IEEE webinar on OpenACC by Michael Wolf, a compiler engineer at PGI, who presents the latest PGI support for C++ features and will look at the roadmap for more complete PGI OpenACC support in the future. Michael will also show some significant performance enhancements that should impact all OpenACC programmers. He closes with a short … [Read more...]
ORNL Introductory Tutorials On Concurrent Kernels
The OLCF at Oakridge National Laboratory (ORNL) is working to educate users about how to best use their computing resources. As part of that process, the OLCF has published two very introductory tutorials to teach how to utilize concurrent kernels on their systems. Part 1 (concurrent kernels) and Part 2 (batched library calls) teach how to launch concurrent kernels using CUDA … [Read more...]
Mix OpenACC and CUDA (including Thrust)
The NVIDIA Parallel ForAll blog shows how to mix OpenACC and CUDA (including Thrust) with the host_data construct, the deviceptr clause, and the acc_map_data() API function. … [Read more...]
NCSA (XSEDE) to Host OpenACC Aug 5th Workshop Using Blue Waters – Only Few Sites Can Receive Telecast
NCSA and the Extreme Science and Engineering Discovery Environment (XSEDE) project that it leads, along with the Pittsburgh Supercomputing Center, will present an OpenACC GPU programming workshop on Aug. 5. The workshop will have a hands-on component using NCSA’s Blue Waters supercomputer. Register through the online XSEDE portal. Send questions to Tom Maiden at … [Read more...]
Farber to Teach All-Day Tutorial At Supercomputing Nov 16 2014
Supercomputing 2014 recently approved my proposal for an all-day class "From 'Hello World' to Exascale Using x86, GPUs and Intel Xeon Phi Coprocessors" (tut106s1), at The International Conference for High Performance Computing, Networking, Storage, and Analysis (SC14). I hope to see you on Sunday November 16, 2014 in New Orleans,! Abstract Both GPUs and Intel Xeon Phi … [Read more...]
Pragma Puzzler – Ambiguous Loop Trip Count in OpenMP and OpenACC
Pragma-based programming can be described as a "negotiation" with the compiler where the compiler has to assume corner-cases that are not apparent to the programmer. So why does the loop count in the OpenMP and OpenACC article, "A First Transparent OpenACC C++ Class" have to be assigned to a separate variable to generate a parallel … [Read more...]