Skip to content

Commit 48fd705

Browse files
committed
Save some WIP
1 parent 8358893 commit 48fd705

File tree

4 files changed

+29
-3
lines changed

4 files changed

+29
-3
lines changed

c/experimental/stf/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ endif()
2929

3030
find_package(CUDAToolkit REQUIRED)
3131
set_target_properties(cccl.c.experimental.stf PROPERTIES CUDA_RUNTIME_LIBRARY STATIC)
32+
target_link_libraries(cccl.c.experimental.stf PUBLIC CCCL::cudax)
3233
target_link_libraries(cccl.c.experimental.stf PRIVATE
3334
CUDA::cudart_static
3435
CUDA::nvrtc
3536
CUDA::nvJitLink
3637
CUDA::cuda_driver
37-
CCCL::cudax
3838
)
3939
# target_compile_definitions(cccl.c.experimental.stf PUBLIC CCCL_C_EXPERIMENTAL=1)
4040
# target_compile_definitions(cccl.c.experimental.stf PRIVATE

c/experimental/stf/include/cccl/c/experimental/stf/stf.h

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,20 @@ typedef struct stf_ctx_handle_t* stf_ctx_handle;
1818
void stf_ctx_create(stf_ctx_handle* ctx);
1919
void stf_ctx_finalize(stf_ctx_handle ctx);
2020

21+
// TODO stf_ctx_set_mode() + define enum with GRAPH, STREAM, ...
22+
// TODO stf_ctx_is_graph()
23+
24+
cudaStream_t stf_fence(stf_ctx_handle ctx);
25+
2126
typedef struct stf_logical_data_handle_t* stf_logical_data_handle;
2227

2328
void stf_logical_data(stf_ctx_handle ctx, stf_logical_data_handle* ld, void* addr, size_t sz);
2429
void stf_logical_data_set_symbol(stf_logical_data_handle ld, const char* symbol);
2530
void stf_logical_data_destroy(stf_logical_data_handle ld);
2631

27-
// TODO token
32+
// TODO
33+
// void stf_logical_data_wait(stf_logical_data_handle ld);
34+
// void stf_token(stf_ctx_handle ctx);
2835

2936
typedef struct stf_task_handle_t* stf_task_handle;
3037

@@ -34,8 +41,21 @@ void stf_task_add_dep(stf_task_handle t, stf_logical_data_handle ld, stf_access_
3441
void stf_task_start(stf_task_handle t);
3542
void stf_task_end(stf_task_handle t);
3643
cudaStream_t stf_task_get_stream(stf_task_handle t);
44+
void *stf_task_get(stf_task_handle t, size_t submitted_index);
3745
void stf_task_destroy(stf_task_handle t);
3846

47+
typedef struct stf_kernel_desc_handle_t *stf_kernel_desc_handle;
48+
49+
void stf_kernel_create(stf_kernel_desc_handle *d);
50+
void stf_kernel_destroy(stf_kernel_desc_handle d);
51+
// TODO stf_cuda_kernel_desc : symbol, deps, args... ?
52+
// void stf_kernel_set_symbol((stf_kernel_handle k, const char* symbol)
53+
// void stf_kernel_add_dep(stf_kernel_handle k, stf_logical_data_handle ld, stf_access_mode m);
54+
// void stf_kernel_start(stf_kernel_handle k);
55+
// void stf_kernel_set_args(stf_kernel_handle k, size_t cnt, void **args);
56+
// void stf_kernel_end(stf_kernel_handle k);
57+
// void stf_kernel_destroy(stf_kernel_handle k);
58+
3959
#ifdef __cplusplus
4060
}
4161
#endif

c/experimental/stf/src/stf.cu

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ void stf_ctx_finalize(stf_ctx_handle ctx)
3636
delete ctx;
3737
}
3838

39+
cudaStream_t stf_fence(stf_ctx_handle ctx)
40+
{
41+
assert(ctx);
42+
return ctx->ctx.fence();
43+
}
44+
3945
void stf_logical_data(stf_ctx_handle ctx, stf_logical_data_handle* ld, void* addr, size_t sz)
4046
{
4147
assert(ld);

c/experimental/stf/test/test_task.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
#include <cccl/c/experimental/stf/stf.h>
1515

16-
C2H_TEST("basic stf task", "[task]")
16+
C2H_TEST("empty stf tasks", "[task]")
1717
{
1818
size_t N = 1000000;
1919

0 commit comments

Comments
 (0)