1616
1717namespace at {
1818
19+ std::string get_mkl_version () {
20+ std::string version;
21+ #if AT_MKL_ENABLED()
22+ {
23+ // Magic buffer number is from MKL documentation
24+ // https://software.intel.com/en-us/mkl-developer-reference-c-mkl-get-version-string
25+ char buf[198 ];
26+ mkl_get_version_string (buf, 198 );
27+ version = buf;
28+ }
29+ #else
30+ version = " MKL not found" ;
31+ #endif
32+ return version;
33+ }
34+
35+ std::string get_mkldnn_version () {
36+ std::ostringstream ss;
37+ #if AT_MKLDNN_ENABLED()
38+ // Cribbed from mkl-dnn/src/common/verbose.cpp
39+ // Too bad: can't get ISA info conveniently :(
40+ // Apparently no way to get ideep version?
41+ // https://github.com/intel/ideep/issues/29
42+ {
43+ const mkldnn_version_t * ver = mkldnn_version ();
44+ ss << " Intel(R) MKL-DNN v" << ver->major << " ." << ver->minor << " ." << ver->patch
45+ << " (Git Hash " << ver->hash << " )" ;
46+ }
47+ #else
48+ ss << " MKLDNN not found" ;
49+ #endif
50+ return ss.str ();
51+ }
52+
53+ std::string get_openmp_version () {
54+ std::ostringstream ss;
55+ #ifdef _OPENMP
56+ {
57+ ss << " OpenMP " << _OPENMP;
58+ // Reference:
59+ // https://stackoverflow.com/questions/1304363/how-to-check-the-version-of-openmp-on-linux
60+ const char * ver_str = nullptr ;
61+ switch (_OPENMP) {
62+ case 200505 :
63+ ver_str = " 2.5" ;
64+ break ;
65+ case 200805 :
66+ ver_str = " 3.0" ;
67+ break ;
68+ case 201107 :
69+ ver_str = " 3.1" ;
70+ break ;
71+ case 201307 :
72+ ver_str = " 4.0" ;
73+ break ;
74+ case 201511 :
75+ ver_str = " 4.5" ;
76+ break ;
77+ default :
78+ ver_str = nullptr ;
79+ break ;
80+ }
81+ if (ver_str) {
82+ ss << " (a.k.a. OpenMP " << ver_str << " )" ;
83+ }
84+ }
85+ #else
86+ ss << " OpenMP not found" ;
87+ #endif
88+ return ss.str ();
89+ }
90+
1991std::string show_config () {
2092 std::ostringstream ss;
2193 ss << " PyTorch built with:\n " ; // TODO add the version of PyTorch
@@ -42,58 +114,15 @@ std::string show_config() {
42114#endif
43115
44116#if AT_MKL_ENABLED()
45- {
46- // Magic buffer number is from MKL documentation
47- // https://software.intel.com/en-us/mkl-developer-reference-c-mkl-get-version-string
48- char buf[198 ];
49- mkl_get_version_string (buf, 198 );
50- ss << " - " << buf << " \n " ;
51- }
117+ ss << " - " << get_mkl_version () << " \n " ;
52118#endif
53119
54120#if AT_MKLDNN_ENABLED()
55- // Cribbed from mkl-dnn/src/common/verbose.cpp
56- // Too bad: can't get ISA info conveniently :(
57- // Apparently no way to get ideep version?
58- // https://github.com/intel/ideep/issues/29
59- {
60- const mkldnn_version_t * ver = mkldnn_version ();
61- ss << " - Intel(R) MKL-DNN v" << ver->major << " ." << ver->minor << " ." << ver->patch
62- << " (Git Hash " << ver->hash << " )\n " ;
63- }
121+ ss << " - " << get_mkldnn_version () << " \n " ;
64122#endif
65123
66124#ifdef _OPENMP
67- {
68- ss << " - OpenMP " << _OPENMP;
69- // Reference:
70- // https://stackoverflow.com/questions/1304363/how-to-check-the-version-of-openmp-on-linux
71- const char * ver_str = nullptr ;
72- switch (_OPENMP) {
73- case 200505 :
74- ver_str = " 2.5" ;
75- break ;
76- case 200805 :
77- ver_str = " 3.0" ;
78- break ;
79- case 201107 :
80- ver_str = " 3.1" ;
81- break ;
82- case 201307 :
83- ver_str = " 4.0" ;
84- break ;
85- case 201511 :
86- ver_str = " 4.5" ;
87- break ;
88- default :
89- ver_str = nullptr ;
90- break ;
91- }
92- if (ver_str) {
93- ss << " (a.k.a. OpenMP " << ver_str << " )" ;
94- }
95- ss << " \n " ;
96- }
125+ ss << " - " << get_openmp_version () << " \n " ;
97126#endif
98127
99128#ifdef USE_LAPACK
0 commit comments