Some useful resources for oneAPI

curated by James Reinders
LinkedIn jamesreinders
Twitter jamesreinders


I’ve made a simple list of useful resources related to oneAPI, and DPC++. I hope you find them useful.




DevCloud

Intel DevCloud is a development sandbox to learn about DPC++ and program oneAPI cross-architecture applications.

I highly recommend getting an account for Intel DevCloud.  It is free.  DevCloud has software preinstalled on a rich variety of machines with a variety of XPUs (CPUs, GPUs, FPGAs).  I use DevCloud for debugging and testing my DPC++ code – I started doing that while working on the DPC++ book.


QUICK LINK:

https://devcloud.intel.com/oneapi/get_started/


Tip:

Press the “Get Free Access” button on DevCloud page.




Data Parallel C++

I really enjoyed creating this book with my co-authors – and we are very happy with how useful it is proving in teaching DPC++.  We hope to hear form you as well!

This book is for anyone interested in data-parallel programming using C++. The book contains practical advice, detailed explanations, and code examples to illustrate key topics.

This book begins by introducing data parallelism and foundational topics for effective use of the SYCL standard (from the Khronos Group) and Data Parallel C++ (DPC++) compiler (the open source compiler used in this book).  Later chapters cover advanced topics including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.

With DPC++, a single C++ application can use any combination of devices (XPUs) —including GPUs, CPUs, and FPGAs.


QUICK LINK:

https://link.springer.com/content/pdf/10.1007%2F978-1-4842-5574-2.pdf


TIP:

Some related links:

The Publisher’s book page.

Code examples from book.

Known book errata.

Open source github for DPC++ project.

 




oneAPI toolkits/products from Intel (free prebuilt toolkits)

All the oneAPI support (free toolkits) from Intel.

The website has complete information.


QUICK LINK:

https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html


TIP:

Download if you want to try on your own machines. Try DevCloud to avoid downloading and installing. Either way, you get to try out oneAPI and DPC++. If you want more background on oneAPI visit the oneAPI main page.




tutorials, training, talks

LEARN oneAPI

There is a wealth of training material available. Check back for new additions.


QUICK LINK:

https://software.intel.com/content/www/us/en/develop/tools/oneapi/training.html


TIP:

To hear about other’s experiences, check out the 2020 oneAPI Developer Summit that featured some outstanding talks about work being done in oneAPI and Data Parallel C++.




oneAPI specification

oneAPI is a cross-industry, open, standards-based unified programming model that delivers a common developer experience across accelerator architectures—for faster application performance, more productivity, and greater innovation. The oneAPI industry initiative encourages collaboration on the oneAPI specification and compatible oneAPI implementations across the ecosystem.

The oneAPI specification extends existing developer programming models to enable a diverse set of hardware through language, a set of library APIs, and a low-level hardware interface to support cross-architecture programming. To promote compatibility and enable developer productivity and innovation, the oneAPI specification builds upon industry standards and provides an open, cross-platform developer stack.


QUICK LINK:

https://www.oneapi.com/


TIP:

Giving feedback on the specification is a great way to influence industry direction. It has been said “it is very open – all the laundry is aired in public.” That’s a good thing – dig in, you’ll see.




just for fun

We miss Alex Trebek. We put these oneAPI games together a year before he passed away.


QUICK LINK:

https://intelsoftware.thetrainingarcade.com/games/jeopardy/dpcc


TIP:

When you want more – there is a second one too.

https://intelsoftware.thetrainingarcade.com/games/jeopardy/dpcc-2




repetitive recursion without a good purpose

Qr code

Description automatically generated

This is the QR code and link, for this page.


QUICK LINK:

https://tinyurl.com/oneapi-info


TIP:

It’s more fun to follow the other oneAPI links.