Build and Run a Sample Project Using the Visual Studio* Command Line
Intel® oneAPI Base Toolkit
Command line development can be done with a terminal window or done through Visual Studio Code*. Some tasks can be automated using extensions. To learn more, see Using Visual Studio Code with Intel® oneAPI Toolkits.
To compile and run a sample:
- Locate a sample project using the oneAPI CLI Samples Browser.
- Build and run a sample project using Microsoft Build*.
Download Samples using the oneAPI CLI Samples Browser
Use the oneAPI CLI Samples Browser to browse the collection of online oneAPI samples. As you browse the oneAPI samples, you can copy them to your local disk as buildable sample projects. Most oneAPI sample projects are built using Make or CMake, so the build instructions are included as part of the sample in a README file. The oneAPI CLI utility is a single-file, stand-alone executable that has no dependencies on dynamic runtime libraries.
To see a list of components that support CMake, see Use CMake with oneAPI Applications.
An internet connection is required to download the samples for oneAPI toolkits. For information on how to use this toolkit offline, see Developing with Offline Systems in the Troubleshooting section.
To watch a video presentation of how to create a project with the command line, see Exploring Intel® oneAPI Samples from the Command Line.
- Create a folder where you want to store your sample. For example, C:\samples\vector-add
- Open a command window.
- Set system variables by running setvars:
Component Directory Layout:
"C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
NOTE:For Windows PowerShell* users, execute this command:cmd.exe "/K" '"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" && powershell'
Unified Directory Layout:
"C:\Program Files (x86)\Intel\oneAPI\<toolkit-version>\oneapi-vars.bat"
NOTE:For Windows PowerShell* users, execute this command:cmd.exe "/K" '"C:\Program Files (x86)\Intel\oneAPI\<toolkit-version>\oneapi-vars.bat" && powershell'
NOTE:The setvars.bat script can be managed using a configuration file, which is especially helpful if you need to initialize specific versions of libraries or the compiler, rather than defaulting to the "latest" version. For more details, see Using a Configuration File to Manage Setvars.bat. See oneAPI Development Environment Setup for more configuration options. - In the same command window, run the application :
The oneAPI CLI menu appears:oneapi-cli.exe
- Use the up and down arrow keys to select Create a project, then press Enter
- Move the arrow key down to select Create a project, then press Enter. The language selection will appear. If you want to run samples from a toolkit other than the Intel® oneAPI Base Toolkit, install the domain-specific toolkit before proceeding.
- Select the language for your sample. For your first project, select cpp, then press Enter. The toolkit samples list appears.
- Select the Vector Add sample. Vector Add is a simple test application that will help verify that the tools are setup correctly and can access your system's GPU:
After you select a sample, press Enter.
- Specify the location for the project. The default location includes the path from where the utility was run and the name of the project.
Press Tab to select Create, then press Enter:
See Explore SYCL* Through Samples to learn more.
Build and Run a CPU or GPU Sample Using Microsoft Build*
- Using the same command prompt window where you ran setvars.bat, navigate to the folder where you downloaded the sample.
- Configure the project to use the buffer-based implementation (first box) or the Unified Shared Memory (USM) based implementation (second box):
mkdir build cd build cmake -G "NMake Makefiles" ..
mkdir build cd build cmake -G "NMake Makefiles" .. -DUSM=1
-
NOTE:Some samples require additional steps or arguments for building and/or running the sample. Review the sample's README.md file for specific details regarding how to build and run the sample.
nmake cpu-gpu
- Navigate to the output directory (example: x64/Release)
- Run the program:
vector-add-usm.exe vector-add-buffers.exe
A success message will appear:
If Running on Device shows a GPU and an error occurs, see the Troubleshooting tip for fixing a SPIRV Error.
- Optional: Clean the program.
nmake clean
Compile and run a sample for FPGA
You can run the vector-add sample (or any FPGA SYCL* code) in the following modes:
- Emulation: Verifies the code correctness. Compilation completes in few seconds. Use this mode if you are using the Intel® oneAPI Base Toolkit
- Report: Generates a static optimization report for design analysis. Compilation can take a few minutes to complete. When completed, you can find the reports in <project_name>.prj\reports\report.html. This can be used with the Intel® oneAPI Base Toolkit. For more information about the reports, refer to the FPGA Optimization Guide for Intel® oneAPI Toolkits.
- Hardware: Generates the actual bitstream on an FPGA device. Compilation can take few hours to complete. Use this mode to measure performance. To use this mode, download the Intel® Quartus® Prime Pro Edition software and third-party vendor-provided BSPs separately. For more information, refer to the Intel® FPGA Add-On for oneAPI Base Toolkit web page.
- Using the same command prompt window where you ran setvars.bat, navigate to the folder where you downloaded the sample.
cd <vector-add directory on the same system>
- View the README.md file in the sample folder for instructions on how to build and run the sample.
See Explore SYCL* Through Samples to learn more.