From 6762f986920876ef57f523d7785787e03b0ce5f2 Mon Sep 17 00:00:00 2001 From: Andrzej Janik Date: Sun, 14 Apr 2024 00:08:37 +0000 Subject: [PATCH] Also implement suld --- ptx/lib/zluda_ptx_impl.bc | Bin 231852 -> 232076 bytes ptx/lib/zluda_ptx_impl.cpp | 102 +++++++++++++++++++++++++++++++++++-- ptx/src/translate.rs | 2 +- zluda/src/impl/surface.rs | 11 +++- zluda/tests/kernel_suld.rs | 4 -- 5 files changed, 109 insertions(+), 10 deletions(-) diff --git a/ptx/lib/zluda_ptx_impl.bc b/ptx/lib/zluda_ptx_impl.bc index 7012fd4d9d562cb9b1cec176e57a93203aa81d96..1edcbd5cc43abb641e28b19d37651f905d1e0986 100644 GIT binary patch literal 232076 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�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�Ltf}yb|4}1iI5i@#c|f3l;N{PA9Ow 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%0D;2nFo}X(92RuG?<7Fl1XRg4c-nr*ZElcXiOn}= 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 diff --git a/ptx/lib/zluda_ptx_impl.cpp b/ptx/lib/zluda_ptx_impl.cpp index d0d54d5..ecbe691 100644 --- a/ptx/lib/zluda_ptx_impl.cpp +++ b/ptx/lib/zluda_ptx_impl.cpp @@ -317,6 +317,102 @@ static __device__ void image_store_pck(T value, typename Coordinates::type } } +template +static __device__ T image_load_pck(typename Coordinates::type coord, surface_ptr surface) +{ + if constexpr (sizeof(T) <= sizeof(uint)) + { + uint data; + if constexpr (geo == ImageGeometry::_1D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0x1 dim:1D unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord.x), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::_2D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0x1 dim:2D unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::_3D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0x1 dim:3D unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(transmute(coord)), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::A1D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0x1 dim:1D_ARRAY unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::A2D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0x1 dim:2D_ARRAY unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord), "s"(*surface) : "memory"); + } + else + { + static_assert(sizeof(ImageGeometry) == 0, "Invalid geometry"); + } + return transmute(data); + } + else if constexpr (sizeof(T) == sizeof(uint2::Native_vec_)) + { + uint2::Native_vec_ data; + if constexpr (geo == ImageGeometry::_1D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0x3 dim:1D unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord.x), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::_2D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0x3 dim:2D unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::_3D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0x3 dim:3D unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(transmute(coord)), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::A1D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0x3 dim:1D_ARRAY unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::A2D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0x3 dim:2D_ARRAY unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord), "s"(*surface) : "memory"); + } + else + { + static_assert(sizeof(ImageGeometry) == 0, "Invalid geometry"); + } + return transmute(data); + } + else if constexpr (sizeof(T) == sizeof(uint4::Native_vec_)) + { + uint4::Native_vec_ data; + if constexpr (geo == ImageGeometry::_1D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0xf dim:1D unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord.x), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::_2D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0xf dim:2D unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::_3D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0xf dim:3D unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(transmute(coord)), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::A1D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0xf dim:1D_ARRAY unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord), "s"(*surface) : "memory"); + } + else if constexpr (geo == ImageGeometry::A2D) + { + asm volatile("image_load_pck %0, %1, %2 dmask:0xf dim:2D_ARRAY unorm\ns_waitcnt vmcnt(0)" : "=v"(data) : "v"(coord), "s"(*surface) : "memory"); + } + else + { + static_assert(sizeof(ImageGeometry) == 0, "Invalid geometry"); + } + return transmute(data); + } + else + { + static_assert(sizeof(T) == 0, "Invalid vector size"); + } +} + template static __device__ uint4::Native_vec_ image_load_pck_full(typename Coordinates::type coord, surface_ptr surface) { @@ -327,8 +423,7 @@ static __device__ uint4::Native_vec_ image_load_pck_full(typename Coordinates::typ surface_ptr surface = get_surface_pointer(surf_arg); uint32_t shift_x = x_coordinate_shift(surf_arg); coord.x = coord.x >> shift_x; - uint4::Native_vec_ pixel = image_load_pck_full(coord, surface); - return transmute(pixel); + return image_load_pck(coord, surface); } template diff --git a/ptx/src/translate.rs b/ptx/src/translate.rs index 4ffe3b0..1085258 100644 --- a/ptx/src/translate.rs +++ b/ptx/src/translate.rs @@ -2934,7 +2934,7 @@ fn replace_instructions_with_builtins_impl<'input>( vector, "_", suld.type_.to_ptx_name(), - "_trap", + "_zero", ] .concat(); statements.push(instruction_to_fn_call( diff --git a/zluda/src/impl/surface.rs b/zluda/src/impl/surface.rs index cb7ec2b..0f24fa3 100644 --- a/zluda/src/impl/surface.rs +++ b/zluda/src/impl/surface.rs @@ -22,10 +22,19 @@ pub(crate) unsafe fn create( } let mut surf_obj = mem::zeroed(); hip_call_cuda!(hipCreateSurfaceObject(&mut surf_obj, &desc)); + let top_reserved_bits = surf_obj as usize >> (usize::BITS - IMAGE_RESERVED_TOP_BITS); + if top_reserved_bits != 0 { + #[allow(unused_must_use)] + { + hipDestroySurfaceObject(surf_obj); + } + return Err(CUresult::CUDA_ERROR_UNKNOWN); + } let format_size = format_size((&*desc.res.array.array).Format)?; let channels = (&*desc.res.array.array).NumChannels; let pixel_size = format_size * channels as usize; - let shift_amount = (pixel_size.trailing_zeros() as usize) << (64 - IMAGE_RESERVED_TOP_BITS); + let shift_amount = + (pixel_size.trailing_zeros() as usize) << (usize::BITS - IMAGE_RESERVED_TOP_BITS); surf_obj = (surf_obj as usize | shift_amount) as _; *result = surf_obj; Ok(()) diff --git a/zluda/tests/kernel_suld.rs b/zluda/tests/kernel_suld.rs index ad6e964..07fc560 100644 --- a/zluda/tests/kernel_suld.rs +++ b/zluda/tests/kernel_suld.rs @@ -340,10 +340,6 @@ unsafe fn kernel_suld_impl< if mem::size_of::() * CHANNELS < mem::size_of::() * SULD_N { return; } - // TODO: reenable those tests - if mem::size_of::() != mem::size_of::() || CHANNELS != SULD_N { - return; - } let mut rng = rand_chacha::ChaCha8Rng::seed_from_u64(seed); let size = 4usize; let random_size = rand::distributions::Uniform::::new(1, size as u32);