{"id":17306559,"url":"https://github.com/rmeli/cuda-pg","last_synced_at":"2026-04-16T11:02:22.323Z","repository":{"id":93109387,"uuid":"188446708","full_name":"RMeli/CUDA-pg","owner":"RMeli","description":"CUDA C++ Playground","archived":false,"fork":false,"pushed_at":"2022-07-22T09:10:00.000Z","size":326,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-05T08:39:43.248Z","etag":null,"topics":["cpp","cuda","gpu"],"latest_commit_sha":null,"homepage":"","language":"Cuda","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RMeli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSES/README.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-24T15:33:22.000Z","updated_at":"2022-06-26T13:31:39.000Z","dependencies_parsed_at":"2023-06-04T22:45:26.005Z","dependency_job_id":null,"html_url":"https://github.com/RMeli/CUDA-pg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RMeli/CUDA-pg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMeli%2FCUDA-pg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMeli%2FCUDA-pg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMeli%2FCUDA-pg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMeli%2FCUDA-pg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RMeli","download_url":"https://codeload.github.com/RMeli/CUDA-pg/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMeli%2FCUDA-pg/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31882886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T09:23:21.276Z","status":"ssl_error","status_checked_at":"2026-04-16T09:23:15.028Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cuda","gpu"],"created_at":"2024-10-15T11:58:46.024Z","updated_at":"2026-04-16T11:02:22.291Z","avatar_url":"https://github.com/RMeli.png","language":"Cuda","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CUDA Playground\n\nPlayground for experimentation with CUDA C++. Most of the code in this repository is an adaptation of the code associated to [CUDA by Example - An Introduction to General Purpose GPU Programming](https://developer.nvidia.com/cuda-example) (see `LICENSES`).\n\n## CUDA Concepts\n\n* `01_info`: [device information](01_info/README.md#cuda-concepts)\n* `02_axpy`: [kernel functions](02_axpy/README.md#kernel-function), [kernel calls](02_axpy/README.md#kernel-call), [blocks](02_axpy/README.md#blocks), [host/device memory](02_axpy/README.md#device-memory)\n* `03_mandelbrot`: [device functions](03_mandelbrot/README.md#device-functions), [grid of blocks](03_mandelbrot/README.md#grid-of-blocks)\n* `04_axpy`: [threads](04_axpy/README.md#threads), [blocks and threads](04_axpy/README.md#blocks-and-threads)\n* `05_dot`: [shared memory](05_dot/README.md#shared-memory), [thread synchronization](05_dot/README.md#thread-synchronization)\n* `06_raytracer`: [constant memory](06_raytracer#constant-memory), [warps](06_raytracer#warps), [host/device functions](06_raytracer#hostdevice-functions), [GPU timing and events](06_raytracer#gpu-timing)\n* `07_hist`: [atomic operations](07_hist#atomic-operations), [set device memory](07_hist#set-device-memory)\n* `08_mem`: [page-locked memory](08_mem#page-locked-memory)\n* `09_memasync`: [CUDA streams](09_memasync#cuda-streams), [asyncronous memory copy](09_memasync#asyncronous-memory-copy)\n\n### Timings\n\nCPU timings are measured for the kernel execution. GPU timings are measured for device memory allocation, copy of data from host to device, kernel execution, and copy of data from device to host (unless such timings are clearly disaggregated).\n\n## Build Experiments\n\n```bash\nmkdir build        # create build directory\ncd build           # change to build directory\ncmake ..           # generato Makefile\nmake               # compile project\n```\n\n### Singularity\n\nRun [Singularity](https://singularity.hpcng.org/) container with CUDA and [CMake](https://cmake.org/) interactively:\n\n```bash\nsingularity shell --nv singularity/\u003cCONTAINER\u003e.sif\n```\n\n## References\n\n* [CSCS HPC Summer School 2018](https://github.com/eth-cscs/SummerSchool2018)\n* [CUDA by Example - An Introduction to General Purpose GPU Programming](https://developer.nvidia.com/cuda-example)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmeli%2Fcuda-pg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frmeli%2Fcuda-pg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmeli%2Fcuda-pg/lists"}