Requires libomp on macOS from homebrew. OpenMP with Visual C/C++ requires the loop index to be a signed type (from OpenMP < 3.0).