{"id":20515385,"url":"https://github.com/guilt/rocm-programming-masterclass","last_synced_at":"2025-08-04T12:40:22.387Z","repository":{"id":147695184,"uuid":"603918594","full_name":"guilt/ROCM-Programming-Masterclass","owner":"guilt","description":"Udemy's CUDA programming Masterclass with Examples in ROCM/HIP.","archived":false,"fork":false,"pushed_at":"2024-06-24T18:28:08.000Z","size":58182,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-04T04:36:18.101Z","etag":null,"topics":["cuda","easy","hip","learning-by-doing","masterclass","rocm"],"latest_commit_sha":null,"homepage":"https://www.udemy.com/course/mastering-parallel-programming-with-cuda-platform/","language":"Cuda","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guilt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.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":"2023-02-19T23:42:44.000Z","updated_at":"2025-07-19T05:59:00.000Z","dependencies_parsed_at":"2024-11-15T21:32:58.561Z","dependency_job_id":null,"html_url":"https://github.com/guilt/ROCM-Programming-Masterclass","commit_stats":null,"previous_names":["guilt/rocm-programming-masterclass"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/guilt/ROCM-Programming-Masterclass","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilt%2FROCM-Programming-Masterclass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilt%2FROCM-Programming-Masterclass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilt%2FROCM-Programming-Masterclass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilt%2FROCM-Programming-Masterclass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guilt","download_url":"https://codeload.github.com/guilt/ROCM-Programming-Masterclass/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilt%2FROCM-Programming-Masterclass/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268697183,"owners_count":24292394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cuda","easy","hip","learning-by-doing","masterclass","rocm"],"created_at":"2024-11-15T21:21:22.179Z","updated_at":"2025-08-04T12:40:22.362Z","avatar_url":"https://github.com/guilt.png","language":"Cuda","readme":"# ROCM/HIP Programming Masterclass\n\n## What is It?\n\nCUDA Examples but ported to work with ROCM/HIP.\n\n[Course Link](https://udemy.com/course/cuda-programming-masterclass/)\n\n## Installation\n\nThis repository requires an AMD GPU and preferably ROCM 5.4.x or higher toolchain\nto run. See [ROCM Documentation](https://rocmdocs.amd.com/) on how to get started.\n\n### Legacy Method for Docker Installation\n\nWhen I tried installing it on some distributions, AMD ROCM's Installer was giving me\na hard time. To that goal, I had simplified some of the steps required to launch this\non any **Linux Distribution**, worked with [AMD's ROCM Examples](https://github.com/ROCm/rocm-examples/pull/26)\nand supplied patches to make it easy to anybody to build and run it.\n\nThis documentation was written before AMD created official [Docker Images](https://hub.docker.com/r/rocm/rocm-terminal).\n\nFollow the Documentation on the Docker Hub or ROCM Documentation Instead. This method is\nfor those who have the penchant for more pain:\n\n1. Ensure you have the `amdgpu` driver and the card running on your **Linux Distribution**. Verify\nthat it shows up in the `lsmod` command. You will need all the `GPU Firmware` to be in `/lib/firmware`\nin order for the whole shebang to run well.\n\n2. Install [Docker](https://www.docker.com) on your **Linux Distribution**.\n\n3. Scroll down to the steps found in [this GitHub Gist](https://gist.github.com/guilt/6c901f7ac0a726685b6334798da77c00). Use the\nScripts given to get your Docker running.\n\n4. Download the scripts from the Gist and build the `rocm-examples` container.\n\n5. Git clone this repository on your computer. From within this directory, run:\n\n```shell\n./Scripts/launch-hipmc.sh\n```\n\n6. You will be in a **Docker Container** named `hip-examples` and with everything\nready to go. You will see this Git repository mounted `/workspace/hip-examples`\nand this README within it.\n\n7. Now you can get to work, follow the course.\n\n## Compiling\n\nFor most programs, you just run `hipcc`. The invocation is very\nsimilar to `nvcc`.\n\n```shell\ncd 01-Hello\nhipcc -o 01-Hello.out 01-Hello.hip \\\n      -I ../Common ../Common/*.cpp ../Common/*.hip\n./01-Hello.out\n```\n\nThings like `rocprof` are there to profile those applications, but do not have the\nsame amount of robustness as `nvprof`.\n\nFor most CUDA API calls, most things are `cu` or `cuda` replaced by `hip`. I've\nported the `cudaCommon.cu[h]` to `hipCommon.hip[h]` in the `Common/` directory.\n\n## Why all this Effort?\n\nI currently do not have a CUDA compatible card. During the pandemic, the\nNVIDIA card prices were insane due to the miners. I ended up getting a\nRX 6900XT at sale price (wasn't cheap either). Hence, I decided to\nmake the best of this course.\n\nThe next thing is that in order to really learn something, typing the \nwhole thing out by hand helps. Despite the best efforts needed to run\nmost CUDA code as-is on HIP, doing it manually is indeed helping me\nlearn most calls well.\n\nSo if you are taking that course, you need to ideally create your own\nrepo. In case you do get stuck, this one will be your reference.\n\n## Thank You and Feedback\n\nThis code is in no way perfect or bug-free. Pull requests\nwelcome.\n\nReach out to me for any feedback.\n\nNow Enjoy!\n\n* Author: Karthik Kumar Viswanathan\n* Web   : https://karthikkumar.org\n* Email : me@karthikkumar.org\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilt%2Frocm-programming-masterclass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguilt%2Frocm-programming-masterclass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilt%2Frocm-programming-masterclass/lists"}