Intel® C++ Compiler 19.0 Developer Guide and Reference
This topic only applies when targeting Intel® Many Integrated Core Architecture (Intel® MIC Architecture).
Some CPU APIs have offload equivalents, each of which take two additional arguments to specify the target type and target number, defined by the following arguments:
target_type |
target_type is static. It is recommended to use the following pre-defined default: DEFAULT_TARGET_TYPE |
target_number |
The specific coprocessor to target. An expression whose value is interpreted as follows:
|
The offload.h header file defines all the function calls that can be made from the CPU to affect the coprocessor's environment.
This topic uses the CPU API omp_set_num_threads and its offload variations as an example. See also the topics listed below for more CPU APIs.
CPU API |
---|
|
Offload API |
---|
|
#include "offload.h"
#include "omp.h"
#include <stdio.h>
int main()
{
int value, result;
value = 66;
omp_set_num_threads_target(TARGET_MIC, 0, value);
#pragma offload target(mic) out(result)
#pragma omp parallel
#pragma omp master
result = omp_get_num_threads();
printf("Number of threads on target %d\n", result);
if (result != value) {
printf("failed1 result=%d, value=%d\n", result, value);
return 1;
}
return 0;
}