Build and Run Sample Projects Using the Command Line
Prerequisite: Configure your system.
To build and run a sample:
- Locate a sample project using the Code Sample Browser for Intel® oneAPI Toolkits.
- Build and run a sample project using CMake*.
Download Samples using the Code Sample Browser for Intel® oneAPI Toolkits
Use the Code Sample Browser for Intel oneAPI Toolkits to browse the collection of online Intel® oneAPI samples. You can copy the samples to your local disk as buildable sample projects. Most Intel oneAPI sample projects are built using Make* or CMake, so the build instructions are included as part of the sample in a README file. Code Sample Browser for Intel oneAPI Toolkits is a stand-alone single-file executable that has no dependencies on dynamic runtime libraries.
For a list of components that support CMake, see Use CMake with oneAPI Applications. All Render Kit samples use CMake.
An internet connection is required to download the samples for Intel oneAPI Toolkits. For information on how to use this toolkit offline, see Developing in Offline Systems.
To download the Intel® oneAPI Rendering Toolkit (Render Kit) samples:
- Open a new terminal.
- If you did not set up Intel oneAPI Toolkit environment permanently: Set up environment variables:
- For root or sudo users:
. /opt/intel/oneapi/setvars.sh
- For non-root users:
. ~/intel/oneapi/setvars.sh
See Set up Environment Variables for other options.
NOTE:If you installed the Render Kit to a custom location, make sure to replace /opt/intel/oneapi/ (for root or sudo users) or ~/intel/oneapi/ (for non-root users) with the custom installation path before running the command. - For root or sudo users:
- If you are behind proxy, you may need to configure your proxy:
export http_proxy=http://<user>:<pass>@proxy.<server>.com:<port>
export https_proxy=http://<user>:<pass>@proxy.<server>.com:<port>
- From the terminal, run the Code Sample Browser for Intel oneAPI Toolkits with C++ and C samples.
oneapi-cli -l cpp,c
The oneAPI CLI menu appears:
- Select Create a project using arrow keys, then press Enter.
The language selection will appear.
- Select the language for your sample. For your first project, select cpp, then press Enter.
The toolkit samples list appears. Render Kit samples are located underneath the oneAPI Libraries subtree.
- Navigate to oneAPI Libraries > Getting Started with Intel oneAPI Rendering Toolkit > Intel OSPRay sample > 01_ospray_gsg, then press Enter.
NOTE:Some Intel oneAPI samples might not be available on macOS*.
- Specify a location to download the project to. By default, it is the path from where you ran the Code Sample Browser for Intel oneAPI Toolkits and project name.
- Press Tab to select Create, then press Enter.
- Repeat the steps to download samples for other components: 02_embree_gsg for Intel® Embree, 03_openvkl_gsg for Intel® Open Volume Kernel Library, 04_oidn_gsg for Intel® Open Image Denoise, and 05_ispc_gsg for Intel® Implicit SPMD Program Compiler (Intel® ISPC). The samples are numbered and staged to be tried in order.
Intel Open Volume Kernel Library 03_openvkl_gsg sample is available in the C language menu option of the Code Sample Browser for Intel oneAPI Toolkits:
- Select c language:
- Select the Intel Open VKL sample:
See Exploring Intel oneAPI Samples from the Command Line for a video tutorial on creating a project with the command line.
Build and Run an Intel® OSPRay Sample using CMake*
- Navigate to the folder where you downloaded the 01_ospray_gsg sample.
- Run the following commands to build the sample:
mkdir build
cd build
cmake ..
cmake --build .
- Run the application.
- Review the output images with an image viewer application for PPM file type. For example, with Preview:
open firstFrameCpp.ppm
open accumulatedFrameCpp.ppm
You should see the output images:
- Single-accumulation render firstFrameCpp:
- Ten-accumulation render accumulatedFrameCpp:
Build and Run an Intel® Embree Sample using CMake*
- Navigate to the folder where you downloaded the 02_embree_gsg sample.
- Run the following commands to build the sample:
mkdir build
cd build
cmake ..
cmake --build .
- Run the application.
./minimal
The sample application performs two ray-to-triangle intersect tests with the Intel Embree API. One test is successful, while the other test is a miss. Output is written to the terminal:
0.000000, 0.000000, -1.000000: Found intersection on geometry 0, primitive 0 at tfar=1.000000 1.000000, 1.000000, -1.000000: Did not find any intersection.
Build and Run an Intel® Open Volume Kernel Library Sample using CMake*
- Navigate to the folder where you downloaded the03_openvkl_gsg sample.
- Run the following commands to build the sample:
mkdir build
cd build
cmake ..
cmake --build .
- Run the application.
./vklTutorial
The sample application shows sampling within a procedurally generated volume and outputs. sampling, gradient computation, and multi-attribute sampling. Output is written to the terminal.
Build and Run an Intel® Open Image Denoise Sample using CMake*
- Navigate to the folder where you downloaded the 04_oidn_gsg sample.
- Run the following commands to build the sample:
mkdir build
cd build
cmake ..
cmake --build .
- Convert the accumulatedFrameCpp.ppm image to PFM format with LSB data ordering. For example, with the ImageMagick* convert tool:
<path-to-ImageMagick>/convert <path-to-sample>/01_ospray_gsg/build/accumulatedFrameCpp.ppm -endian LSB PFM:accumulatedFrameCpp.pfm
NOTE:If you installed ImageMagick with Homebrew*, the <path-to-ImageMagick> is typically /usr/local/Cellar/imagemagick/<version>/bin. - Run the application to denoise the image.
./oidnDenoise -hdr accumulatedFrameCpp.pfm -o denoised.pfm
- Review the output image with an image viewer application for PPM file type. For example, with Preview:
open denoised.pfm
- Original ten-accumulation render accumulatedFrameCpp:
- Denoised result denoised.pfm:
Build and Run an Intel® Implicit SPMD Program Compiler Sample using CMake*
- Navigate to the folder where you downloaded the 05_ispc_gsg sample.
- Run the following commands to build the sample:
mkdir build
cd build
cmake ..
cmake --build .
- Run a single-target sample application:
./simple
- Run a multi-target sample application:
The application executes a simple floating-point array operation. The result is printed to the stdout.
0: simple(0.000000) = 0.000000 1: simple(1.000000) = 1.000000 2: simple(2.000000) = 4.000000 3: simple(3.000000) = 1.732051 4: simple(4.000000) = 2.000000 5: simple(5.000000) = 2.236068 6: simple(6.000000) = 2.449490 7: simple(7.000000) = 2.645751 8: simple(8.000000) = 2.828427 9: simple(9.000000) = 3.000000 10: simple(10.000000) = 3.162278 11: simple(11.000000) = 3.316625 12: simple(12.000000) = 3.464102 13: simple(13.000000) = 3.605551 14: simple(14.000000) = 3.741657 15: simple(15.000000) = 3.872983
Next Steps
Explore additional resources in Next Steps.