فهرست منبع

Avoid using __fp16 on ARM with old nvcc (#10616)

Frankie Robertson 1 سال پیش
والد
کامیت
cd2f37b304
1فایلهای تغییر یافته به همراه2 افزوده شده و 2 حذف شده
  1. 2 2
      ggml/src/ggml-impl.h

+ 2 - 2
ggml/src/ggml-impl.h

@@ -310,14 +310,14 @@ void ggml_aligned_free(void * ptr, size_t size);
 // FP16 to FP32 conversion
 // FP16 to FP32 conversion
 
 
 #if defined(__ARM_NEON)
 #if defined(__ARM_NEON)
-    #ifdef _MSC_VER
+    #if defined(_MSC_VER) || (defined(__CUDACC__) && __CUDACC_VER_MAJOR__ <= 11)
         typedef uint16_t ggml_fp16_internal_t;
         typedef uint16_t ggml_fp16_internal_t;
     #else
     #else
         typedef __fp16 ggml_fp16_internal_t;
         typedef __fp16 ggml_fp16_internal_t;
     #endif
     #endif
 #endif
 #endif
 
 
-#if defined(__ARM_NEON) && !defined(_MSC_VER)
+#if defined(__ARM_NEON) && !defined(_MSC_VER) && !(defined(__CUDACC__) && __CUDACC_VER_MAJOR__ <= 11)
     #define GGML_COMPUTE_FP16_TO_FP32(x) ggml_compute_fp16_to_fp32(x)
     #define GGML_COMPUTE_FP16_TO_FP32(x) ggml_compute_fp16_to_fp32(x)
     #define GGML_COMPUTE_FP32_TO_FP16(x) ggml_compute_fp32_to_fp16(x)
     #define GGML_COMPUTE_FP32_TO_FP16(x) ggml_compute_fp32_to_fp16(x)