When I compile CPU only pytorch, I encountered below issue for fbgemm module:
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc: In function ‘void fbgemm::internal::compressed_indices_remap_avx512(int32_t, const IndexType*, const int32_t*, const IndexType*, const float*, IndexType*, IndexType*, float*)’:
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:441:66: error: there are no arguments to ‘_mm256_cmpge_epi32_mask’ that depend on a template parameter, so a declaration of ‘_mm256_cmpge_epi32_mask’ must be available [-fpermissive]
__mmask8 cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
^
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:441:66: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:476:59: error: there are no arguments to ‘_mm256_cmpge_epi32_mask’ that depend on a template parameter, so a declaration of ‘_mm256_cmpge_epi32_mask’ must be available [-fpermissive]
cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
^
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc: In instantiation of ‘void fbgemm::internal::compressed_indices_remap_avx512(int32_t, const IndexType*, const int32_t*, const IndexType*, const float*, IndexType*, IndexType*, float*) [with IndexType = int; bool HAS_WEIGHTS = true; int32_t = int]’:
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:595:1: required from here
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:441:49: error: ‘_mm256_cmpge_epi32_mask’ was not declared in this scope
__mmask8 cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
^
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:476:42: error: ‘_mm256_cmpge_epi32_mask’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
^
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:441:49: note: ‘_mm256_cmpge_epi32_mask’ declared here, later in the translation unit
__mmask8 cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
^
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc: In instantiation of ‘void fbgemm::internal::compressed_indices_remap_avx512(int32_t, const IndexType*, const int32_t*, const IndexType*, const float*, IndexType*, IndexType*, float*) [with IndexType = int; bool HAS_WEIGHTS = false; int32_t = int]’:
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:596:1: required from here
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:441:49: error: ‘_mm256_cmpge_epi32_mask’ was not declared in this scope
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:476:42: error: ‘_mm256_cmpge_epi32_mask’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
^
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:441:49: note: ‘_mm256_cmpge_epi32_mask’ declared here, later in the translation unit
__mmask8 cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
^
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc: In instantiation of ‘void fbgemm::internal::compressed_indices_remap_avx512(int32_t, const IndexType*, const int32_t*, const IndexType*, const float*, IndexType*, IndexType*, float*) [with IndexType = long int; bool HAS_WEIGHTS = true; int32_t = int]’:
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:597:1: required from here
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:441:49: error: ‘_mm256_cmpge_epi32_mask’ was not declared in this scope
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:476:42: error: ‘_mm256_cmpge_epi32_mask’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
^
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:441:49: note: ‘_mm256_cmpge_epi32_mask’ declared here, later in the translation unit
__mmask8 cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
^
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc: In instantiation of ‘void fbgemm::internal::compressed_indices_remap_avx512(int32_t, const IndexType*, const int32_t*, const IndexType*, const float*, IndexType*, IndexType*, float*) [with IndexType = long int; bool HAS_WEIGHTS = false; int32_t = int]’:
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:598:1: required from here
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:441:49: error: ‘_mm256_cmpge_epi32_mask’ was not declared in this scope
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:476:42: error: ‘_mm256_cmpge_epi32_mask’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
^
/home/sunrise/pytorch/third_party/fbgemm/src/EmbeddingSpMDMAvx512.cc:441:49: note: ‘_mm256_cmpge_epi32_mask’ declared here, later in the translation unit
__mmask8 cmp_res_v = _mm256_cmpge_epi32_mask(len_v, vec_len_v);
Could anyone provide help?