Settings

Theme

Auto-parallelizer: #pragma loop

2 points by boas 11 years ago · 3 comments · 1 min read


I just discovered that MSVC++ can automatically run each iteration of a loop in parallel in separate threads. Add "#pragma loop(hint_parallel(8))" and "#pragma loop(ivdep)" before the loop, and compile with the /Qpar option. This simple change sped up my cryoablation simulation code by 4x.

boasOP 11 years ago

A lot of the radiology software that I write involves iterating over a 3D grid. The auto-parallelizer lets you easily process each 2D slice on a different processor core. My laptop has 2 cores x 2 hyperthreads per core = 4 virtual cores, so 4x speedup.

dalke 11 years ago

You might also be interested in OpenMP, which does similar things for more compilers than MSVC++.

  • boasOP 11 years ago

    Thanks! I'll look into this. I also use g++ on Linux, so a cross-platform solution would be nice.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection