LoyolaChicagoCode / unoapi-dpcpp-examples

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project status

OneAPI CI with CMake

Synopsis

A number of example programs for the UnoAPI curricular modules for high-performance computing using data-parallel C++ with Intel’s oneAPI under development at Loyola University Chicago.

All examples are intended to follow current practices, such as

Additional notes are being added to the UnoAPI Wiki.

Please report any issues with these code examples here.

Debian-based Linux systems

These instructions should work for physical and virtual Debian-based systems on Intel hardware. We have verified this on the following types of systems:

  • Dell XPS (2017) with Ubuntu 22.04
  • MacBook Air (2020) with MacOS 12.4 running an Ubuntu 22.04 guest in VMware Fusion
  • GitHub Actions workflow ubuntu-latest container

One-time setup

wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt update
sudo apt install build-essential cmake intel-oneapi-compiler-dpcpp-cpp
git clone https://github.com/LoyolaChicagoCode/unoapi-dpcpp-examples

Building the examples

cd unoapi-dpcpp-examples
source ./setvars.sh
cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
cmake --build build

Running an example

After a successful build, you'll be able to run any of the examples in unoapi-dpcpp-examples/build/bin, e.g.:

cd unoapi-dpcpp-examples
./build/bin/integration

MacOS

The Intel DPC++ compiler is currently unavailable for MacOS. We will add instructions if and when this changes.

Windows

The examples should run on Windows, and we are planning to add instructions in the future.

About

License:Apache License 2.0


Languages

Language:C++ 71.5%Language:TeX 18.7%Language:CMake 5.5%Language:Shell 3.2%Language:C 1.1%