Merge pull request #871 from lidanqing-intel/develop-fix-omp-flag
fix omp flag
This commit is contained in:
commit
31eee98cba
|
@ -52,20 +52,29 @@ include_directories(${OpenCV_INCLUDE_DIRS})
|
|||
|
||||
if (WIN32)
|
||||
add_definitions("/DGOOGLE_GLOG_DLL_DECL=")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /bigobj /MTd")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /bigobj /MT")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj /MTd")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /bigobj /MT")
|
||||
if(WITH_MKL)
|
||||
set(FLAG_OPENMP "/openmp")
|
||||
endif()
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /bigobj /MTd ${FLAG_OPENMP}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /bigobj /MT ${FLAG_OPENMP}")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj /MTd ${FLAG_OPENMP}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /bigobj /MT ${FLAG_OPENMP}")
|
||||
if (WITH_STATIC_LIB)
|
||||
safe_set_static_flag()
|
||||
add_definitions(-DSTATIC_LIB)
|
||||
endif()
|
||||
message("cmake c debug flags " ${CMAKE_C_FLAGS_DEBUG})
|
||||
message("cmake c release flags " ${CMAKE_C_FLAGS_RELEASE})
|
||||
message("cmake cxx debug flags " ${CMAKE_CXX_FLAGS_DEBUG})
|
||||
message("cmake cxx release flags " ${CMAKE_CXX_FLAGS_RELEASE})
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -o3 -std=c++11")
|
||||
if(WITH_MKL)
|
||||
set(FLAG_OPENMP "-fopenmp")
|
||||
endif()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -o3 ${FLAG_OPENMP} -std=c++11")
|
||||
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
||||
message("cmake cxx flags" ${CMAKE_CXX_FLAGS})
|
||||
endif()
|
||||
message("flags" ${CMAKE_CXX_FLAGS})
|
||||
|
||||
|
||||
if (WITH_GPU)
|
||||
if (NOT DEFINED CUDA_LIB OR ${CUDA_LIB} STREQUAL "")
|
||||
|
@ -198,4 +207,4 @@ if (WIN32 AND WITH_MKL)
|
|||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_LIB}/third_party/install/mklml/lib/libiomp5md.dll ./release/libiomp5md.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PADDLE_LIB}/third_party/install/mkldnn/lib/mkldnn.dll ./release/mkldnn.dll
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#include "glog/logging.h"
|
||||
#include "omp.h"
|
||||
#include "opencv2/core.hpp"
|
||||
#include "opencv2/imgcodecs.hpp"
|
||||
#include "opencv2/imgproc.hpp"
|
||||
|
@ -67,6 +69,19 @@ int main(int argc, char **argv) {
|
|||
config.use_mkldnn, config.use_zero_copy_run,
|
||||
config.char_list_file);
|
||||
|
||||
#ifdef USE_MKL
|
||||
#pragma omp parallel
|
||||
for (auto i = 0; i < 10; i++) {
|
||||
LOG_IF(WARNING,
|
||||
config.cpu_math_library_num_threads != omp_get_num_threads())
|
||||
<< "WARNING! MKL is running on " << omp_get_num_threads()
|
||||
<< " threads while cpu_math_library_num_threads is set to "
|
||||
<< config.cpu_math_library_num_threads
|
||||
<< ". Possible reason could be 1. You have set omp_set_num_threads() "
|
||||
"somewhere; 2. MKL is not linked properly";
|
||||
}
|
||||
#endif
|
||||
|
||||
auto start = std::chrono::system_clock::now();
|
||||
std::vector<std::vector<std::vector<int>>> boxes;
|
||||
det.Run(srcimg, boxes);
|
||||
|
|
Loading…
Reference in New Issue