{"id":15904936,"url":"https://github.com/sebp/vscode-sycl-dpcpp-cuda","last_synced_at":"2026-05-06T22:06:06.828Z","repository":{"id":136207397,"uuid":"500966665","full_name":"sebp/vscode-sycl-dpcpp-cuda","owner":"sebp","description":"Sample project to use the VS Code Remote - Containers extension to develop SYCL applications for NVIDIA GPUs using the oneAPI DPC++ compiler.","archived":false,"fork":false,"pushed_at":"2022-06-07T19:12:26.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-07T12:43:05.410Z","etag":null,"topics":["cuda","dpcpp","fedora","gpu-computing","podman","sycl","vscode"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sebp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-06-07T18:52:14.000Z","updated_at":"2022-06-07T19:19:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"72555b33-fe7d-49fb-b1df-a9ee40445bcc","html_url":"https://github.com/sebp/vscode-sycl-dpcpp-cuda","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sebp/vscode-sycl-dpcpp-cuda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebp%2Fvscode-sycl-dpcpp-cuda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebp%2Fvscode-sycl-dpcpp-cuda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebp%2Fvscode-sycl-dpcpp-cuda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebp%2Fvscode-sycl-dpcpp-cuda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sebp","download_url":"https://codeload.github.com/sebp/vscode-sycl-dpcpp-cuda/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebp%2Fvscode-sycl-dpcpp-cuda/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32713856,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T19:35:05.142Z","status":"ssl_error","status_checked_at":"2026-05-06T19:35:03.996Z","response_time":117,"last_error":"SSL_read: 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":["cuda","dpcpp","fedora","gpu-computing","podman","sycl","vscode"],"created_at":"2024-10-06T12:43:10.689Z","updated_at":"2026-05-06T22:06:06.788Z","avatar_url":"https://github.com/sebp.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VS Code Development Container: SYCL for NVIDIA GPUs via DPC++'s CUDA Backend\n\n[![Open in Remote - Containers](https://img.shields.io/static/v1?label=Remote%20-%20Containers\u0026message=Open\u0026color=blue\u0026logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://vscode.git/clone?url=https://github.com/sebp/vscode-sycl-dpcpp-cuda)\n\nThis project provides a **development container** for developing applications\nin [SYCL](https://sycl.tech/) for NVIDIA GPUs using the [CUDA](https://developer.nvidia.com/cuda-toolkit)\nbackend of the [oneAPI DPC++](https://intel.github.io/llvm-docs/) (Data Parallel C++) compiler.\n\nIt uses [Podman](https://podman.io/) as container engine to run the\ncontainer rootless.\n\nThe setup has been tested on [Fedora Linux](https://getfedora.org/) 36 with Podman version 4.1.0.\n\n## Prerequisites\n\nBeside having installed Podman and VS Code, you need to setup the\nNVIDIA Container Toolkit before being able to start the development container.\n\n### Podman\n\nYou can install Podman on Fedora using\n```\nsudo dnf install -y podman\n```\n\n### NVIDIA Container Toolkit\n\nThe instructions to set up the [NVIDIA Container Toolkit](https://nvidia.github.io/nvidia-docker/) are based\non [this guide](https://www.redhat.com/en/blog/how-use-gpus-containers-bare-metal-rhel-8)\nby Red Hat.\n\n1. Install the [NVIDIA GPU driver](https://rpmfusion.org/Howto/NVIDIA) using RPM Fusion.\n   Note that you do not need to install CUDA, it is included in the container.\n\n2. Configure the repository:\n```\ncurl -sL https://nvidia.github.io/nvidia-docker/rhel9.0/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo\n```\n\n3. Install the `nvidia-container-toolkit` package.\n```\nsudo dnf install -y nvidia-container-toolkit\n```\n\n4. To allow running the container rootless, you need to apply 3 changes to\n   `/etc/nvidia-container-runtime/config.toml`.\n\n```\n#no-cgroups = false\nno-cgroups = true\n```\n\n```\n#ldconfig = \"@/sbin/ldconfig\"\nldconfig = \"/sbin/ldconfig\"\n```\n\n```\n#debug = \"/var/log/nvidia-container-runtime.log\"\ndebug = \"~/.local/nvidia-container-runtime.log\"\n```\n\n5. Finally, install and apply a SELinux policy to enable GPU access within the container.\n```\ncurl -sLO https://raw.githubusercontent.com/NVIDIA/dgx-selinux/master/bin/RHEL7/nvidia-container.pp\nsudo semodule -i nvidia-container.pp\nsudo nvidia-container-cli -k list | sudo restorecon -v -f -\nsudo restorecon -Rv /dev\n```\n\n### Remote - Containers Extension\n\nFirst install the [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)\nextension for [VS Code](https://code.visualstudio.com/).\n\nBy default, the extension is configured to use Docker, therefore you have to\ngo to user settings, Extensions, Remote - Containers, and change\n`Remote › Containers: Docker Path` to `podman`.\n\n![Docker Path setting](doc/settings-docker-path.png)\n\n## Usage\n\nOnce you followed the setup instructions above, open this project in VS Code\nand you should see a prompt that suggests to reopen this project in a container.\n\n![Reopen project in container](doc/reopen-in-container.png)\n\nThe `src` folder contains an example program. You can compile it, and any other source file,\nby opening the source file in VS Code and executing the build task by pressing `Ctrl+Shift+B`,\nor open the Command Palette (`F1`, `Ctrl+Shift+P`) and search for **Run Build Task**.\nUsing the Command Palette, the compiled program can be executed via the **Run Test Task**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebp%2Fvscode-sycl-dpcpp-cuda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsebp%2Fvscode-sycl-dpcpp-cuda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebp%2Fvscode-sycl-dpcpp-cuda/lists"}