Build and Run a Sample Using the Visual Studio* Command Line
Before you begin, make sure your development environment is set up. If you have not already configured your environment, go to Configure Your System before proceeding.
You can use a terminal window or Visual Studio Code* for command-line development. 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:
- Use the oneAPI CLI Samples Browser to locate a sample project.
- Build and run the project using Microsoft Build*.
Download Samples using the oneAPI CLI Samples Browser
Use the oneAPI CLI Samples Browser to explore the collection of online oneAPI samples. The oneAPI CLI Browser is a single-file, stand-alone tool that does not require any extra libraries. You can copy samples to your local disk as ready-to-build projects. The build instructions are included as part of the sample in a README file. Most oneAPI sample projects are built using Make or CMake.
The oneAPI CLI Samples Browser does not work with system proxy settings and does not support WPAD proxy. If you have trouble connecting from behind a proxy, see Troubleshooting.
Watch a video guide on creating a sample project with Intel® oneAPI using the command line.
To download and set up a sample:
- 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. You can choose to use either the Unified Directory Layout or the Component Directory Layout to ensure components version consistency. Learn more in the oneAPI Development Environment Setup.
The commands below assume you used the default install location. If you customized the installation folder, adjust the path to setvars | oneapi-vars accordingly.
Component Directory Layout:
NOTE:For Windows PowerShell*, execute this command:Unified Directory Layout:
"C:\Program Files (x86)\Intel\oneAPI\<toolkit-version>\oneapi-vars.bat"
NOTE:For Windows PowerShell*, execute this command:cmd.exe "/K" '"C:\Program Files (x86)\Intel\oneAPI\<toolkit-version>\oneapi-vars.bat" && powershell'
NOTE:You can manage setvars.bat script to specify exact version of the toolkit, libraries or the compiler, rather than defaulting to the latest version. For advanced setup options, see Using a Configuration File to Manage Setvars.bat, oneAPI Development Environment Setup. - In the same command window, run the application:
- Use the up and down arrow keys to select Create a project, then press Enter
- The language selection will appear. 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 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 CLI Browser was run and the name of the project.
Press Tab to select Create, then press Enter:
See Troubleshooting section for help with common issues.
Build and Run a 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 or the Unified Shared Memory (USM) based implementation . Read more about these memory management techniques in the Vector Add description.
Buffer-based:
Unified Shared Memory (USM):
- Build the program. 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.
- Navigate to the output directory (for example: x64/Release)
- Run the program using one of the following commands for your implementation:
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.
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.