# Vector Math Functions Threading

VML functions take an advantage of multi-core and multi-processor systems as well as systems supporting Intel® Hyper-Threading technology by their automatic threading with OpenMP*.

VML threading logic can be controlled by means of vmlSetMode function. The default threading behavior is as follows. The environment variable `OMP_NUM_THREADS` determines the maximum number of threads to be used for VML functions threading. The actual number of threads can be less than that maximum, and is automatically determined at run-time. User can override the number of threads specified in `OMP_NUM_THREADS` by calling OpenMP* omp_set_num_threads() function.