From 7e9e2150619c05f9e8a74432e596b11f373518b9 Mon Sep 17 00:00:00 2001 From: Brett Weiland Date: Thu, 9 May 2024 19:14:29 -0500 Subject: pipeline up --- main.cu | 51 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 15 deletions(-) (limited to 'main.cu') diff --git a/main.cu b/main.cu index 2b1b180..4225b09 100644 --- a/main.cu +++ b/main.cu @@ -8,32 +8,53 @@ __global__ void test_image(uint8_t *image); int main() { - const int size_x = 100; - const int size_y = 100; + //bluuuuugh i'll figure out occupancy later, this res are easy + //calculated manually for gtx1060 with 20 SM, 1024 threads/SM + const int res_x = 32 * 20; + const int res_y = 32 * 20; + const dim3 blockCount(20, 20); + const dim3 threadCount(32, 32); + uint8_t *image_d; - Image image = GenImageColor(size_x, size_y, BLUE); + Color texture_data[res_x * res_y]; + + + //see if GPU is connected (my egpu is finicky) + { + int temp_device; + cudaError_t err; + if((err = cudaGetDevice(&temp_device)) != cudaSuccess) { + printf("failed to get device!\nError: %s\n", cudaGetErrorString(err)); + return(1); + } + } + SetTraceLogLevel(LOG_ERROR); + InitWindow(res_x, res_y, "cuda teseteroni"); + + //TODO could probably cut out + Image image = GenImageColor(res_x, res_y, BLUE); + Texture tex = LoadTextureFromImage(image); + + - InitWindow(size_x, size_y, "cuda teseteroni"); - cudaMalloc((void **)&image_d, 100 * 100 * 4); - test_image<<<1, dim3(3,3)>>>(image_d); - cudaDeviceSynchronize(); - //for(;;); //if(!IsWindowFullscreen()) ToggleFullscreen(); while(!WindowShouldClose()) { - cudaMemcpy(image.data, (void **)image_d, 100 * 100 * 4, cudaMemcpyDeviceToHost); - //memset(image.data, (int32_t)0x0000ff, 100 * 100 * 4); + //cuda stuff + cudaMalloc((void **)&image_d, res_x * res_y * sizeof(Color)); + test_image<<>>(image_d); + cudaDeviceSynchronize(); + cudaMemcpy(texture_data, (void **)image_d, res_x * res_y * sizeof(Color), cudaMemcpyDeviceToHost); + BeginDrawing(); - DrawTexture(LoadTextureFromImage(image), 0, 0, WHITE); + UpdateTexture(tex, texture_data); + DrawTexture(tex, 0, 0, WHITE); + DrawFPS(0, 0); EndDrawing(); } - - - - return 0; } -- cgit v1.2.3