ogl_beamforming

Ultrasound Beamforming Implemented with OpenGL
git clone anongit@rnpnr.xyz:ogl_beamforming.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

Commit: d7e50c8308ff59a5870b78b0c2c6d2dca7f3e5f6
Parent: 30feed75fcb5eb06764b1db4f744d82a0bbf12c2
Author: Randy Palamar
Date:   Thu, 15 May 2025 10:18:14 -0600

cuda: cleanup function names

Diffstat:
Mbeamformer.c | 11+++++------
Mbeamformer.h | 27+++++++++++++--------------
Mstatic.c | 6+++---
3 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/beamformer.c b/beamformer.c @@ -136,9 +136,8 @@ alloc_shader_storage(BeamformerCtx *ctx, u32 rf_raw_size, Arena a) } /* NOTE(rnp): these are stubs when CUDA isn't supported */ - ctx->cuda_lib.register_cuda_buffers(cs->rf_data_ssbos, ARRAY_COUNT(cs->rf_data_ssbos), - cs->raw_data_ssbo); - ctx->cuda_lib.init_cuda_configuration(bp->rf_raw_dim, bp->dec_data_dim); + ctx->cuda_lib.register_buffers(cs->rf_data_ssbos, countof(cs->rf_data_ssbos), cs->raw_data_ssbo); + ctx->cuda_lib.init(bp->rf_raw_dim, bp->dec_data_dim); u32 order = cs->dec_data_dim.z; i32 *hadamard = make_hadamard_transpose(&a, order); @@ -291,11 +290,11 @@ do_compute_shader(BeamformerCtx *ctx, Arena arena, BeamformComputeFrame *frame, csctx->last_output_ssbo_index = !csctx->last_output_ssbo_index; break; case CS_CUDA_DECODE: - ctx->cuda_lib.cuda_decode(0, output_ssbo_idx, 0); + ctx->cuda_lib.decode(0, output_ssbo_idx, 0); csctx->last_output_ssbo_index = !csctx->last_output_ssbo_index; break; case CS_CUDA_HILBERT: - ctx->cuda_lib.cuda_hilbert(input_ssbo_idx, output_ssbo_idx); + ctx->cuda_lib.hilbert(input_ssbo_idx, output_ssbo_idx); csctx->last_output_ssbo_index = !csctx->last_output_ssbo_index; break; case CS_DEMOD: @@ -516,7 +515,7 @@ complete_queue(BeamformerCtx *ctx, BeamformWorkQueue *q, Arena arena, iptr gl_co tex_type = GL_SHORT; tex_format = GL_RED_INTEGER; tex_element_count = ARRAY_COUNT(sm->channel_mapping); - ctx->cuda_lib.cuda_set_channel_mapping(sm->channel_mapping); + ctx->cuda_lib.set_channel_mapping(sm->channel_mapping); } break; case BU_KIND_FOCAL_VECTORS: { tex_1d = cs->focal_vectors_texture; diff --git a/beamformer.h b/beamformer.h @@ -24,13 +24,13 @@ typedef struct { b32 executable_reloaded; } BeamformerInput; -#define INIT_CUDA_CONFIGURATION_FN(name) void name(u32 *input_dims, u32 *decoded_dims) -typedef INIT_CUDA_CONFIGURATION_FN(init_cuda_configuration_fn); -INIT_CUDA_CONFIGURATION_FN(init_cuda_configuration_stub) {} +#define CUDA_INIT_FN(name) void name(u32 *input_dims, u32 *decoded_dims) +typedef CUDA_INIT_FN(cuda_init_fn); +CUDA_INIT_FN(cuda_init_stub) {} -#define REGISTER_CUDA_BUFFERS_FN(name) void name(u32 *rf_data_ssbos, u32 rf_buffer_count, u32 raw_data_ssbo) -typedef REGISTER_CUDA_BUFFERS_FN(register_cuda_buffers_fn); -REGISTER_CUDA_BUFFERS_FN(register_cuda_buffers_stub) {} +#define CUDA_REGISTER_BUFFERS_FN(name) void name(u32 *rf_data_ssbos, u32 rf_buffer_count, u32 raw_data_ssbo) +typedef CUDA_REGISTER_BUFFERS_FN(cuda_register_buffers_fn); +CUDA_REGISTER_BUFFERS_FN(cuda_register_buffers_stub) {} #define CUDA_DECODE_FN(name) void name(size_t input_offset, u32 output_buffer_idx, u32 rf_channel_offset) typedef CUDA_DECODE_FN(cuda_decode_fn); @@ -45,16 +45,15 @@ typedef CUDA_SET_CHANNEL_MAPPING_FN(cuda_set_channel_mapping_fn); CUDA_SET_CHANNEL_MAPPING_FN(cuda_set_channel_mapping_stub) {} #define CUDA_LIB_FNS \ - X(cuda_decode) \ - X(cuda_hilbert) \ - X(cuda_set_channel_mapping) \ - X(init_cuda_configuration) \ - X(register_cuda_buffers) + X(decode, "cuda_decode") \ + X(hilbert, "cuda_hilbert") \ + X(init, "init_cuda_configuration") \ + X(register_buffers, "register_cuda_buffers") \ + X(set_channel_mapping, "cuda_set_channel_mapping") typedef struct { - void *lib; - u64 timestamp; - #define X(name) name ## _fn *name; + void *lib; + #define X(name, symname) cuda_ ## name ## _fn *name; CUDA_LIB_FNS #undef X } CudaLib; diff --git a/static.c b/static.c @@ -247,14 +247,14 @@ function FILE_WATCH_CALLBACK_FN(load_cuda_lib) stream_append_s8(&err, s8("loading CUDA lib: " OS_CUDA_LIB_NAME "\n")); os_unload_library(cl->lib); cl->lib = os_load_library((c8 *)path.data, OS_CUDA_LIB_TEMP_NAME, &err); - #define X(name) cl->name = os_lookup_dynamic_symbol(cl->lib, #name, &err); + #define X(name, symname) cl->name = os_lookup_dynamic_symbol(cl->lib, symname, &err); CUDA_LIB_FNS #undef X os->write_file(os->error_handle, stream_to_s8(&err)); } - #define X(name) if (!cl->name) cl->name = name ## _stub; + #define X(name, symname) if (!cl->name) cl->name = cuda_ ## name ## _stub; CUDA_LIB_FNS #undef X @@ -349,7 +349,7 @@ setup_beamformer(BeamformerCtx *ctx, Arena *memory) os_add_file_watch(&ctx->os, memory, s8(OS_CUDA_LIB_NAME), load_cuda_lib, (iptr)&ctx->cuda_lib); } else { - #define X(name) if (!ctx->cuda_lib.name) ctx->cuda_lib.name = name ## _stub; + #define X(name, symname) if (!ctx->cuda_lib.name) ctx->cuda_lib.name = cuda_ ## name ## _stub; CUDA_LIB_FNS #undef X }