Use the setvars Script with Windows*
Most of the oneAPI component tool folders contain an environment script
named
vars.bat
that configures the environment variables needed by
that component to support oneAPI development work. For example, in a
default installation, the Intel® Integrated Performance Primitives
(Intel® IPP) vars script on Windows is located at: C:\Program Files
(x86)\Intel\oneAPI\ipp\latest\env\vars.bat
. This pattern is shared by
all oneAPI components that include an environment vars
setup script.These component tool
vars
scripts can be called directly or
collectively. To call them collectively, a script named setvars.bat
is provided in the oneAPI installation folder. For example, in a default
installation on a Windows machine: C:\Program Files
(x86)\Intel\oneAPI\setvars.bat
.Running the
setvars.bat
script without any arguments causes it to
locate and run all <component>\latest\env\vars.bat
scripts in the
installation. Changes made to the environment by these scripts can be
seen by running the Windows set
command after running the
environment setup scripts.Visual Studio Code* developers can install a oneAPI environment
extension to run the
setvars.bat
within Visual Studio Code. Learn
more in Using Visual Studio Code with Intel oneAPI
Toolkits.
Changes to your environment made by running the
setvars.bat
script (or the individual vars.bat
scripts) are not permanent.
Those changes only apply to the cmd.exe
session in which the
setvars.bat
environment script was executed. Command Line Arguments
The
setvars.bat
script supports several command-line arguments,
which are displayed using the --help
option. For example:"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" --help
The
--config=file
argument and the ability to include arguments that
will be passed to the vars.bat
scripts that are called by the
setvars.bat
script can be used to customize the environment setup.The
--config=file
argument provides the ability to limit environment
initialization to a specific set of oneAPI components. It also provides
a way to initialize the environment for specific component versions. For
example, to limit environment setup to just the Intel® IPP library and
the Intel® oneAPI Math Kernel Library (Intel® oneMKL), pass a config
file that tells the setvars.bat
script to only call the vars.bat
environment scripts for those two oneAPI components. More details and
examples are provided in Use a Config file for setvars.bat on
Windows.Any extra arguments passed on the
setvars.bat
command line that are
not described in the setvars.bat
help message will be passed to
every called vars.bat
script. That is, if the setvars.bat
script
does not recognize an argument, it assumes the argument is meant for use
by one or more component vars scripts and passes those extra arguments
to every component vars.bat
script that it calls. The most common
extra arguments are ia32
and intel64
, which are used by the
Intel compilers and the IPP, MKL, and TBB libraries to specify the
application target architecture.If more than one version of Microsoft Visual Studio* is installed on
your system, you can specify which Visual Studio environment should be
initialized as part of the oneAPI
setvars.bat
environment
initialization by adding the vs2017
, vs2019
, or vs2022
argument to the setvars.bat
command line. By default, the most
recent version of Visual Studio is located and initialized.
Support for Microsoft Visual Studio* 2017 is deprecated as of the
Intel® oneAPI 2022.1 release, and will be removed in a future
release.
Inspect the individual
vars.bat
scripts to determine which, if any,
command line arguments they accept.How to Run
<install-dir>\setvars.bat
To run
setvars.bat
or a vars.bat
script in a PowerShell window,
use the following:cmd.exe "/K" '"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" && powershell'
How to Verify
After executing
setvars.bat
, verify success by searching for the
SETVARS_COMPLETED environment variable. If setvars.bat
was
successful the SETVARS_COMPLETED environment variable will have a value
of 1:set | find "SETVARS_COMPLETED"
Return value
SETVARS_COMPLETED=1
If the return value is anything other than
SETVARS_COMPLETED=1
the
test failed and setvars.bat
did not complete properly.Multiple Runs
Because many of the individual
env\vars.bat
scripts make significant
changes to PATH, CPATH, and other environment variables, the top-level
setvars.bat
script will not allow multiple invocations of itself in
the same session. This is done to ensure that your environment variables
do not exceed the maximum provided environment space, especially the
%PATH%
environment variable. Exceeding the available environment
space results in unpredictable behavior in your terminal session and
should be avoided.This behavior can be overridden by passing
setvars.bat
the --force
flag. In this example, the user tries to run
setvars.bat
twice. The second instance is stopped because
setvars.bat
has already been run.> <install-dir>\setvars.bat
.. code-block:: initializing environment ...
(SNIP: lot of output)
.. code-block:: oneAPI environment initialized ::
> <install-dir>\setvars.bat
.. code-block:: WARNING: setvars.bat has already been run. Skipping re-execution.
To force a re-execution of setvars.bat, use the '--force' option.
Using '--force' can result in excessive use of your environment variables.
In the third instance, the user runs
<install-dir>\setvars.bat --force
and the initialization is
successful.> <install-dir>\setvars.bat --force
.. code-block:: initializing environment ...
(SNIP: lot of output)
.. code-block:: oneAPI environment initialized ::
ONEAPI_ROOT Environment Variable
The
ONEAPI_ROOT
variable is set by the top-level setvars.bat
script when that script is sourced. If there is already a
ONEAPI_ROOT
environment variable defined, setvars.bat
temporarily overwrites it in the cmd.exe
session in which you ran
the setvars.bat
script. This variable is primarily used by the
oneapi-cli
sample browser and the Microsoft Visual Studio and Visual
Studio Code* sample browsers to help them locate oneAPI tools and
components, especially for locating the setvars.bat
script if the
SETVARS_CONFIG
feature has been enabled. For more information about
the SETVARS_CONFIG
feature, see Automate the setvars.bat Script
with Microsoft Visual
Studio*.On Windows systems, the installer adds the
ONEAPI_ROOT
variable to
the environment.