Šai tīmekļvietnei ir nepieciešams JavaScript.
Izpētīt
Palīdzība
Pieteikties
AI
/
rocm-systems
Vērot
2
Pievienot izlasei
0
Atdalīts
0
Repozitorijs rocm-systems jau ir atdalīts
Kods
Problēmas
Izmaiņu pieprasījumi
Darbības
Pakotnes
Projekti
Laidieni
Vikivietne
Aktivitāte
Files
28f87f7d2e761400e2d3b09a0b2b4f67b1080656
rocm-systems
/
hipamd
/
tests
/
src
/
deviceLib
T
Vēsture
Alex Voicu
28f87f7d2e
This switches HIP from its currently convoluted macro + pfe based dispatch mechanism to a more natural one partially based on the existing module API. The basic idea is that HCC will always correctly emit __global__ functions: as empty-bodied stubs, on host, and as kernels, on device. It then becomes trivial to obtain the mangled name on host, at dispatch, from the function's address, and then to use the mangled name to retrieve the kernel. This should address all problems stemming from serialisation, dubious mismatches due to the manufactured functor, macro-isms et al. It also immediately enables support for generalised globals as a consequence of that being available in the module API. Finally, it will make debug much easier, since the actual names of the __global__ functions will automatically be used in traces etc. One detail is that due to how dispatch works now (hipLaunchKernel and hipLaunchKernelGGL are themselves variadic function templates which deduce the function type of the callee), in certain cases it may be necesssary to insert explicit casts to ensure that the variadic argument list selects a viable overload - this can be observed in some unit tests. Eventually we may be able to remove this limitation, but for now it does not appear terribly onerous. The code is not extremely HIPpie, nor is it fully optimised, but rather is intended as a starting point for the HIP team to make its own.
2017-11-01 15:09:59 +00:00
..
hip_anyall.cpp
Moved device code to mimic cuda header behavior
2017-01-17 14:57:51 -06:00
hip_ballot.cpp
Moved device code to mimic cuda header behavior
2017-01-17 14:57:51 -06:00
hip_brev.cpp
Moved device code to mimic cuda header behavior
2017-01-17 14:57:51 -06:00
hip_clz.cpp
Moved device code to mimic cuda header behavior
2017-01-17 14:57:51 -06:00
hip_ffs.cpp
Moved device code to mimic cuda header behavior
2017-01-17 14:57:51 -06:00
hip_popc.cpp
Moved device code to mimic cuda header behavior
2017-01-17 14:57:51 -06:00
hip_test_ldg.cpp
This switches HIP from its currently convoluted macro + pfe based dispatch mechanism to a more natural one partially based on the existing module API. The basic idea is that HCC will always correctly emit __global__ functions: as empty-bodied stubs, on host, and as kernels, on device. It then becomes trivial to obtain the mangled name on host, at dispatch, from the function's address, and then to use the mangled name to retrieve the kernel. This should address all problems stemming from serialisation, dubious mismatches due to the manufactured functor, macro-isms et al. It also immediately enables support for generalised globals as a consequence of that being available in the module API. Finally, it will make debug much easier, since the actual names of the __global__ functions will automatically be used in traces etc. One detail is that due to how dispatch works now (hipLaunchKernel and hipLaunchKernelGGL are themselves variadic function templates which deduce the function type of the callee), in certain cases it may be necesssary to insert explicit casts to ensure that the variadic argument list selects a viable overload - this can be observed in some unit tests. Eventually we may be able to remove this limitation, but for now it does not appear terribly onerous. The code is not extremely HIPpie, nor is it fully optimised, but rather is intended as a starting point for the HIP team to make its own.
2017-11-01 15:09:59 +00:00
hip_test_make_type.cpp
directed tests: Updated to use new hip include path
2016-10-04 22:20:50 +05:30
hip_threadfence_system.cpp
[dtests] Fix hip_threadfence_system test's BUILD command
2017-08-11 14:49:17 +05:30
hip_trig.cpp
Moved device code to mimic cuda header behavior
2017-01-17 14:57:51 -06:00
hipComplex.cpp
changed __global__ attribute
2017-02-03 10:53:36 -06:00
hipDeviceMemcpy.cpp
hipDeviceMemcpy test: make it functional on nvcc path
2017-06-07 15:24:44 +05:30
hipDoublePrecisionIntrinsics.cpp
changed device code tests to work not to work as one
2017-01-27 09:20:14 -06:00
hipDoublePrecisionMathDevice.cpp
Renable frexp(f) device math function
2017-07-20 14:41:30 +05:30
hipDoublePrecisionMathHost.cpp
calls isfinite,isinf,isnan from the std namespace on the host
2017-02-14 11:52:09 -05:00
hipFloatMath.cpp
Moved device code to mimic cuda header behavior
2017-01-17 14:57:51 -06:00
hipFloatMathPrecise.cpp
changed device code tests to work not to work as one
2017-01-27 09:20:14 -06:00
hipIntegerIntrinsics.cpp
Add simple device-side assert macro
2017-03-17 10:25:56 -05:00
hipMathFunctions.cpp
changed device code tests to work not to work as one
2017-01-27 09:20:14 -06:00
hipSimpleAtomicsTest.cpp
directed tests: Updated to use new hip include path
2016-10-04 22:20:50 +05:30
hipSinglePrecisionIntrinsics.cpp
changed device code tests to work not to work as one
2017-01-27 09:20:14 -06:00
hipSinglePrecisionMathDevice.cpp
Renable frexp(f) device math function
2017-07-20 14:41:30 +05:30
hipSinglePrecisionMathHost.cpp
calls isfinite,isinf,isnan from the std namespace on the host
2017-02-14 11:52:09 -05:00
hipTestDevice.cpp
This switches HIP from its currently convoluted macro + pfe based dispatch mechanism to a more natural one partially based on the existing module API. The basic idea is that HCC will always correctly emit __global__ functions: as empty-bodied stubs, on host, and as kernels, on device. It then becomes trivial to obtain the mangled name on host, at dispatch, from the function's address, and then to use the mangled name to retrieve the kernel. This should address all problems stemming from serialisation, dubious mismatches due to the manufactured functor, macro-isms et al. It also immediately enables support for generalised globals as a consequence of that being available in the module API. Finally, it will make debug much easier, since the actual names of the __global__ functions will automatically be used in traces etc. One detail is that due to how dispatch works now (hipLaunchKernel and hipLaunchKernelGGL are themselves variadic function templates which deduce the function type of the callee), in certain cases it may be necesssary to insert explicit casts to ensure that the variadic argument list selects a viable overload - this can be observed in some unit tests. Eventually we may be able to remove this limitation, but for now it does not appear terribly onerous. The code is not extremely HIPpie, nor is it fully optimised, but rather is intended as a starting point for the HIP team to make its own.
2017-11-01 15:09:59 +00:00
hipTestDeviceDouble.cpp
This switches HIP from its currently convoluted macro + pfe based dispatch mechanism to a more natural one partially based on the existing module API. The basic idea is that HCC will always correctly emit __global__ functions: as empty-bodied stubs, on host, and as kernels, on device. It then becomes trivial to obtain the mangled name on host, at dispatch, from the function's address, and then to use the mangled name to retrieve the kernel. This should address all problems stemming from serialisation, dubious mismatches due to the manufactured functor, macro-isms et al. It also immediately enables support for generalised globals as a consequence of that being available in the module API. Finally, it will make debug much easier, since the actual names of the __global__ functions will automatically be used in traces etc. One detail is that due to how dispatch works now (hipLaunchKernel and hipLaunchKernelGGL are themselves variadic function templates which deduce the function type of the callee), in certain cases it may be necesssary to insert explicit casts to ensure that the variadic argument list selects a viable overload - this can be observed in some unit tests. Eventually we may be able to remove this limitation, but for now it does not appear terribly onerous. The code is not extremely HIPpie, nor is it fully optimised, but rather is intended as a starting point for the HIP team to make its own.
2017-11-01 15:09:59 +00:00
hipTestDeviceLimit.cpp
added copy right for hipTestDeviceLimit test
2016-10-12 19:59:52 -05:00
hipTestDeviceSymbol.cpp
Enable memcpytosymbol family functions test
2017-07-18 12:37:37 +05:30
hipTestHalf.cpp
added architecture specific macros
2017-02-08 19:45:32 -06:00
hipTestHost.cpp
changed __global__ attribute
2017-02-03 10:53:36 -06:00
hipThreadFence.cpp
changed device code tests to work not to work as one
2017-01-27 09:20:14 -06:00
hipVectorTypes.cpp
Disable some tests which are broken on nvcc path
2017-02-27 13:19:06 +05:30
hipVectorTypesDevice.cpp
fix hipVectorTypesDevice direct test with GGL enabled
2017-03-30 17:14:55 -05:00