Merge pull request #4164 from martin-frbg/issue4162
Enable use of AVX512 microkernels with NVIDIA HPC from version 22.3
This commit is contained in:
		
						commit
						09131f79a6
					
				|  | @ -1,5 +1,10 @@ | |||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if ((( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || ( defined(__NVCOMPILER) && NVCOMPVERS >= 2309)) | ||||
| 
 | ||||
| #if (!(defined(__NVCOMPILER) && NVCOMPVERS < 2309)) | ||||
| 
 | ||||
| #define HAVE_CASUM_KERNEL 1 | ||||
| 
 | ||||
|  | @ -347,3 +352,4 @@ static FLOAT casum_kernel(BLASLONG n, FLOAT *x) | |||
|     return sumf; | ||||
| } | ||||
| #endif | ||||
| #endif | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || ( defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #include <immintrin.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,7 @@ | |||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 ) || (defined(__clang__) && __clang_major__ >= 6)) && defined(__AVX2__) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6) || (defined(__clang__) && __clang_major__ >= 6)) && defined(__AVX2__) || ( defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_DASUM_KERNEL | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,5 +1,8 @@ | |||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || ( defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_DASUM_KERNEL 1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -27,7 +27,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| 
 | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || ( defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #include <immintrin.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || ( defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_KERNEL_8 1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -24,7 +24,10 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
| OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE | ||||
| USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| *****************************************************************************/ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #include <immintrin.h> | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -24,7 +24,10 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
| OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE | ||||
| USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| *****************************************************************************/ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #include <immintrin.h> | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_KERNEL_4x4 1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,5 +1,8 @@ | |||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_DROT_KERNEL 1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #include <immintrin.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -27,7 +27,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| 
 | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #include <immintrin.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 10 && defined(__AVX512BF16__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 10 && defined(__AVX512BF16__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_TOBF16_ACCL_KERNEL 1 | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -1,4 +1,7 @@ | |||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 ) || (defined(__clang__) && __clang_major__ >= 6)) && defined(__AVX2__) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_SASUM_KERNEL 1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,5 +1,8 @@ | |||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_SASUM_KERNEL 1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_KERNEL_16 1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 10 && defined(__AVX512BF16__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 10 && defined(__AVX512BF16__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_SBDOT_ACCL_KERNEL 1 | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 10 && defined(__AVX512BF16__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 10 && defined(__AVX512BF16__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_SBGEMV_N_ACCL_KERNEL 1 | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 10 && defined(__AVX512BF16__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 10 && defined(__AVX512BF16__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_SBGEMV_T_ACCL_KERNEL 1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_KERNEL_16 1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -24,7 +24,11 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
| OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE | ||||
| USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| *****************************************************************************/ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| 
 | ||||
| #include <immintrin.h> | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -24,7 +24,11 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||
| OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE | ||||
| USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| *****************************************************************************/ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| 
 | ||||
| #include <immintrin.h> | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -26,7 +26,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && __NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| 
 | ||||
| #define HAVE_SGEMV_N_SKYLAKE_KERNEL 1 | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -26,7 +26,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_SGEMV_T_SKYLAKE_KERNEL 1 | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -1,5 +1,8 @@ | |||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| #define HAVE_SROT_KERNEL 1 | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,7 +26,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| 
 | ||||
| #include <immintrin.h> | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,7 +26,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 10 && defined(__AVX512BF16__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   >= 10 && defined(__AVX512BF16__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| 
 | ||||
| #define HAVE_TOBF16_ACCL_KERNEL 1 | ||||
| #include "common.h" | ||||
|  |  | |||
|  | @ -1,5 +1,10 @@ | |||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if ((( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX512CD__)) || (defined(__clang__) && __clang_major__ >= 9)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2309)) | ||||
| 
 | ||||
| #if (!(defined(__NVCOMPILER) && NVCOMPVERS < 2309)) | ||||
| 
 | ||||
| #define HAVE_ZASUM_KERNEL 1 | ||||
| 
 | ||||
|  | @ -338,3 +343,4 @@ static FLOAT zasum_kernel(BLASLONG n, FLOAT *x) | |||
|     return sumf; | ||||
| } | ||||
| #endif | ||||
| #endif | ||||
|  |  | |||
|  | @ -26,7 +26,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
| *****************************************************************************/ | ||||
| 
 | ||||
| /* need a new enough GCC for avx512 support */ | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) | ||||
| #ifdef __NVCOMPILER | ||||
| #define NVCOMPVERS ( __NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__ ) | ||||
| #endif | ||||
| #if (( defined(__GNUC__)  && __GNUC__   > 6 && defined(__AVX2__)) || (defined(__clang__) && __clang_major__ >= 6)) || (defined(__NVCOMPILER) && NVCOMPVERS >= 2203 ) | ||||
| 
 | ||||
| 
 | ||||
| #include <immintrin.h> | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue