pytorch/caffe2/perfkernels/common_avx512.cc
Jongsoo Park 0573ef664e include avx512vl to avx512 code path (#14733)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/14733

We often also want to use AVX512VL instruction sets.
We already included AVX512F, AVX512DQ.
Skylake also has AVX512BW, AVX512CD we may want to later.

Reviewed By: duc0

Differential Revision: D13317282

fbshipit-source-id: 82c8e401d82d5c3a5452fb4ccb6e5cb88d242bda
2018-12-05 00:50:51 -08:00

24 lines
974 B
C++

// This file is here merely to check that the flags are not mixed up: for
// example, if your compiler did not specify -mavx512f, -mavx512dq, and
// -mavx512vl you should not provide the CAFFE2_PERF_WITH_AVX512 macro.
#include "caffe2/core/common.h"
#ifdef CAFFE2_PERF_WITH_AVX512
#if !defined(__AVX512F__) || !defined(__AVX512DQ__) || !defined(__AVX512VL__)
#error( \
"You found a build system error: CAFFE2_PERF_WITH_AVX512 is defined" \
"but __AVX512F__, __AVX512DQ__, or __AVX512VL is not defined" \
"(via e.g. -mavx512f, -mavx512dq, and -mavx512vl).");
#endif
#endif // CAFFE2_PERF_WITH_AVX512
#if defined(__AVX512F__) && defined(__AVX512DQ__) && defined(__AVX512VL__)
#ifndef CAFFE2_PERF_WITH_AVX512
#error( \
"You found a build system error: __AVX512F__, __AVX512DQ__, __AVX512VL__ " \
"is defined (via e.g. -mavx512f, -mavx512dq, and -mavx512vl) " \
"but CAFFE2_PERF_WITH_AVX512 is not defined.");
#endif // CAFFE2_PERF_WITH_AVX512
#endif