Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.

Why runtime is invalid?

dingjun_chencmgl_ca
887 Views

Hi, Intel technician,

when I set the environmental variable OMP_SCHEDULE = runtime, the following warning is given:

D:\users\dingjun\build\data>mx201610.exe  -f D:\users\dingjun\build\data\mx8321x105x10.dat -log -jacdoms 32 -parasol 32 -o mx8321x105x10_32cores1job_i
mbdw2s11_windows_runtime_compact1_affinity_manualRun_1
OMP: Warning #42: OMP_SCHEDULE: "runtime" is an invalid value; ignored.
OMP: Info #204: KMP_AFFINITY: decoding x2APIC ids.
OMP: Info #202: KMP_AFFINITY: Affinity capable, using global cpuid leaf 11 info
OMP: Info #154: KMP_AFFINITY: Initial OS proc set respected: {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31}
OMP: Info #156: KMP_AFFINITY: 32 available OS procs
OMP: Info #157: KMP_AFFINITY: Uniform topology
OMP: Info #179: KMP_AFFINITY: 2 packages x 16 cores/pkg x 1 threads/core (32 total cores)

Could you tell me why the runtime value is  invalid?  according to your manual, it seems to be valid. please see the following:

 

Type

Effect

STATIC

Divides iterations into contiguous pieces by dividing the number of iterations by the number of threads in the team. Each piece is then dispatched to a thread before loop execution begins.

If chunk is specified, iterations are divided into pieces of a size specified by chunk. The pieces are statically dispatched to threads in the team in a round-robin fashion in the order of the thread number.

DYNAMIC

Can be used to get a set of iterations dynamically. It defaults to 1 unless chunk is specified.

If chunk is specified, the iterations are broken into pieces of a size specified by chunk. As each thread finishes a piece of the iteration space, it dynamically gets the next set of iterations.

GUIDED

Can be used to specify a minimum number of iterations. It defaults to 1 unless chunk is specified.

If chunk is specified, the chunk size is reduced exponentially with each succeeding dispatch. The chunk specifies the minimum number of iterations to dispatch each time. If there are less than chunk iterations remaining, the rest are dispatched.

AUTO1

Delegates the scheduling decision until compile time or run time. The schedule is processor dependent. The programmer gives the implementation the freedom to choose any possible mapping of iterations to threads in the team.

RUNTIME1

Defers the scheduling decision until run time. You can choose a schedule type and chunk size at run time by using the environment variable OMP_SCHEDULE.

1No chunk is permitted for this type.

 

 

I look forward to hearing from you. Thanks.

 

best regards,

 

Dingjun

0 Kudos
2 Replies
TimP
Honored Contributor III
887 Views

It doesn't work that way.  Schedule(runtime) clause in compiled source code causes the runtime library to look for omp_schedule environment setting to be one of those specific options. Runtime is not among the valid environment settings.

0 Kudos
dingjun_chencmgl_ca
887 Views

Thanks for your reply.

For environmental variable OMP_SCHEDULE, how many values can we set? static, dynamic, auto, and guided? Is there any other value available for settings?

0 Kudos
Reply