SWDEV-501963 - Add missing codes for gfx950

Change-Id: I6b3c6bf54c61cffd44cd6f17b75998f751b75724


[ROCm/hip-tests commit: 1a7df073ba]
このコミットが含まれているのは:
taosang2
2024-12-02 17:16:52 -05:00
committed by Rakesh Roy
コミット f2ab8e53cc
16個のファイルの変更、71行の追加、68行の削除
+3 -3
ファイルの表示
@@ -22,7 +22,7 @@
AtomicAdd on FineGrainMemory
1. The following test scenario verifies
atomicAdd on fineGrain memory with -mno-unsafe-atomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include <hip_test_checkers.hh>
@@ -88,7 +88,7 @@ TEMPLATE_TEST_CASE("Unit_AtomicAdd_Coherentwithnounsafeflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
+3 -3
ファイルの表示
@@ -22,7 +22,7 @@
AtomicAdd on FineGrainMemory
1. The following test scenario verifies
atomicAdd on fineGrain memory without any unsafeatomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include<hip_test_checkers.hh>
@@ -85,7 +85,7 @@ TEMPLATE_TEST_CASE("Unit_AtomicAdd_Coherentwithoutflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
+3 -3
ファイルの表示
@@ -22,7 +22,7 @@
AtomicAdd on FineGrainMemory
1. The following test scenario verifies
atomicAdd on fineGrain memory with -munsafe-fp-atomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include<hip_test_checkers.hh>
@@ -99,7 +99,7 @@ TEMPLATE_TEST_CASE("Unit_AtomicAdd_CoherentwithUnsafeflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
+3 -3
ファイルの表示
@@ -22,7 +22,7 @@
AtomicAdd on CoarseGrainMemory
1. The following test scenario verifies
atomicAdd on CoarseGrain memory with -mno-unsafe-atomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include<hip_test_checkers.hh>
@@ -86,7 +86,7 @@ TEMPLATE_TEST_CASE("Unit_AtomicAdd_NonCoherentwithnounsafeflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
+3 -3
ファイルの表示
@@ -22,7 +22,7 @@
AtomicAdd on CoarseGrainMemory
1. The following test scenario verifies
atomicAdd on CoarseGrain memory without any unsafeatomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include<hip_test_checkers.hh>
@@ -87,7 +87,7 @@ TEMPLATE_TEST_CASE("Unit_AtomicAdd_NonCoherentwithoutflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
+3 -3
ファイルの表示
@@ -22,7 +22,7 @@
AtomicAdd on CoarseGrainMemory
1. The following test scenario verifies
atomicAdd on CoarseGrain memory with -munsafe-fp-atomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include<hip_test_checkers.hh>
@@ -93,7 +93,7 @@ TEMPLATE_TEST_CASE("Unit_AtomicAdd_NonCoherentwithUnsafeflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
+7 -7
ファイルの表示
@@ -91,8 +91,8 @@ TEST_CASE("Unit_BuiltInAtomicAdd_CoherentGlobalMem") {
HIP_CHECK(hipFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942 Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
@@ -135,7 +135,7 @@ TEST_CASE("Unit_BuiltInAtomicAdd_NonCoherentGlobalMem") {
free(B_h);
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942"
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950"
"Hence skipping the testcase for GPU-0");
}
}
@@ -219,8 +219,8 @@ TEST_CASE("Unit_BuiltInAtomicAdd_CoherentGlobalMemWithRtc") {
free(B_h);
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
@@ -299,7 +299,7 @@ TEST_CASE("Unit_BuiltInAtomicAdd_NonCoherentGlobalMemWithRtc") {
free(B_h);
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
+15 -12
ファイルの表示
@@ -26,6 +26,9 @@ THE SOFTWARE.
#include <type_traits>
#include <vector>
#include <bitset>
#if defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)
#define __gfx94plus_local__
#endif
/*
* This catch test is meant for FP8 FNUZ conversion checking
@@ -59,7 +62,7 @@ std::string get_arch_type() {
template<typename T> __FP8_DEVICE__ void e4m3_fnuz_device(T *val)
{
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8_e4m3_fnuz tmp(*val);
*val = tmp;
#else
@@ -69,7 +72,7 @@ template<typename T> __FP8_DEVICE__ void e4m3_fnuz_device(T *val)
template<typename T> __FP8_DEVICE__ void e5m2_fnuz_device(T *val)
{
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8_e5m2_fnuz tmp(*val);
*val = tmp;
#else
@@ -148,7 +151,7 @@ TEMPLATE_TEST_CASE("Unit_fp8_fnuz_compare_host_device", "", float, double) {
__FP8_DEVICE__ void e4m3_fp8x2_fnuz_device(float2 *val)
{
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8x2_e4m3_fnuz tmp(*val);
*val = tmp;
#else
@@ -158,7 +161,7 @@ __FP8_DEVICE__ void e4m3_fp8x2_fnuz_device(float2 *val)
__FP8_DEVICE__ void e5m2_fp8x2_fnuz_device(float2 *val)
{
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8x2_e5m2_fnuz tmp(*val);
*val = tmp;
#else
@@ -298,7 +301,7 @@ TEST_CASE("Unit_fp8x2_fnuz_split_compare") {
__FP8_DEVICE__ void e4m3_fp8x4_fnuz_device(float4 *val)
{
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8x4_e4m3_fnuz tmp(*val);
*val = tmp;
#else
@@ -308,7 +311,7 @@ __FP8_DEVICE__ void e4m3_fp8x4_fnuz_device(float4 *val)
__FP8_DEVICE__ void e5m2_fp8x4_fnuz_device(float4 *val)
{
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8x4_e5m2_fnuz tmp(*val);
*val = tmp;
#else
@@ -399,7 +402,7 @@ __FP8_DEVICE__ bool e4m3_bool_fnuz_device(float val)
{
bool x = false;
float y = val;
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8_e4m3_fnuz tmp(y);
x = tmp;
#else
@@ -412,7 +415,7 @@ __FP8_DEVICE__ bool e5m2_bool_fnuz_device(float val)
{
bool x = false;
float y = val;
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8_e5m2_fnuz tmp(y);
x = tmp;
#else
@@ -499,7 +502,7 @@ __FP8_DEVICE__ __hip_fp8_storage_t e4m3_fnuz_fp8_device(float val)
{
__hip_fp8_storage_t x = 0;
float y = val;
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8_e4m3_fnuz tmp(y);
x = tmp.__x;
#else
@@ -512,7 +515,7 @@ __FP8_DEVICE__ __hip_fp8_storage_t e5m2_fnuz_fp8_device(float val)
{
__hip_fp8_storage_t x = 0;
float y = val;
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8_e5m2_fnuz tmp(y);
x = tmp.__x;
#else
@@ -627,7 +630,7 @@ TEST_CASE("Unit_all_fp8_fnuz_cvt") {
template<typename T> __FP8_DEVICE__ void e4m3_fnuz_fp8_cvt(T val, float *cvt1, float *cvt2)
{
T y = val;
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8_e4m3_fnuz tmp(y);
*cvt1 = tmp;
@@ -646,7 +649,7 @@ template<typename T> __FP8_DEVICE__ void e4m3_fnuz_fp8_cvt(T val, float *cvt1, f
template<typename T> __FP8_DEVICE__ void e5m2_fnuz_fp8_cvt(T val, float *cvt1, float *cvt2)
{
T y = val;
#if (defined(__gfx940__) || defined(__gfx941__) || defined(__gfx942__)) && __HIP_DEVICE_COMPILE__
#if defined(__gfx94plus_local__) && __HIP_DEVICE_COMPILE__
__hip_fp8_e5m2_fnuz tmp(y);
*cvt1 = tmp;
+3 -3
ファイルの表示
@@ -22,7 +22,7 @@
AtomicAdd on FineGrainMemory
1. The following test scenario verifies
unsafeatomicAdd on fineGrain memory with -mno-unsafe-fp-atomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include<hip_test_common.hh>
@@ -100,7 +100,7 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_CoherentwithnoUnsafeflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
+3 -3
ファイルの表示
@@ -22,7 +22,7 @@
AtomicAdd on FineGrainMemory
1. The following test scenario verifies
unsafeatomicAdd on fineGrain memory without atomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include<hip_test_checkers.hh>
@@ -100,7 +100,7 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_Coherentwithoutflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
@@ -22,7 +22,7 @@
AtomicAdd on CoarseGrainMemory
1. The following test scenario verifies
unsafeAtomicAdd on CoarseGrain memory with -mno-unsafe-fp-atomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include<hip_test_checkers.hh>
@@ -93,7 +93,7 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_NonCoherentnounsafeatomicsflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950, "
"Hence skipping the testcase for this GPU " << device);
}
}
+3 -3
ファイルの表示
@@ -22,7 +22,7 @@
unsafeAtomicAdd on CoarseGrainMemory
1. The following test scenario verifies
unsafeAtomicAdd on CoarseGrain memory without any unsafeatomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include<hip_test_checkers.hh>
@@ -93,7 +93,7 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_NonCoherentwithoutflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
+3 -3
ファイルの表示
@@ -22,7 +22,7 @@
unsafeAtomicAdd on CoarseGrainMemory
1. The following test scenario verifies
unsafeAtomicAdd on CoarseGrain memory with unsafeatomics flag
This testcase works only on gfx90a, gfx940, gfx941, gfx942.
This testcase works only on gfx90a, gfx940, gfx941, gfx942, gfx950.
*/
#include<hip_test_checkers.hh>
@@ -93,7 +93,7 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_NonCoherentwithunsafeatomicsflag", "",
HIP_CHECK(hipHostFree(result));
}
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
+12 -12
ファイルの表示
@@ -141,8 +141,8 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_CoherentRTCnounsafeatomicflag", "",
}
HIP_CHECK(hipModuleUnload(module));
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
@@ -238,8 +238,8 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_CoherentRTCunsafeatomicflag", "",
}
HIP_CHECK(hipModuleUnload(module));
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
@@ -331,8 +331,8 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_CoherentRTCwithoutflag", "",
}
HIP_CHECK(hipModuleUnload(module));
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
@@ -417,8 +417,8 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_NonCoherentRTCnounsafeatomicflag", "",
}
HIP_CHECK(hipModuleUnload(module));
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
@@ -505,8 +505,8 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_NonCoherentRTCunsafeatomicflag", "",
}
HIP_CHECK(hipModuleUnload(module));
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}
@@ -593,7 +593,7 @@ TEMPLATE_TEST_CASE("Unit_unsafeAtomicAdd_NonCoherentRTC", "",
}
HIP_CHECK(hipModuleUnload(module));
} else {
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, Hence"
"skipping the testcase for this GPU " << device);
SUCCEED("Memory model feature is only supported for gfx90a, gfx940, gfx941, gfx942, gfx950,"
"Hence skipping the testcase for this GPU " << device);
}
}