Skip to content
This repository was archived by the owner on Mar 21, 2024. It is now read-only.

Commit 0203e9a

Browse files
committed
Add instructions for enabling new releases on Compiler Explorer.
1 parent b59d1db commit 0203e9a

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

CONTRIBUTING.md

+68
Original file line numberDiff line numberDiff line change
@@ -489,3 +489,71 @@ The following branch names are used in the Thrust project:
489489
On the rare occasion that we cannot do work in the open, for example when developing a change specific to an
490490
unreleased product, these branches may exist on `gitlab` instead of `github`. By default, everything should be
491491
in the open on `github` unless there is a strong motivation for it to not be open.
492+
493+
# Release Process
494+
495+
This section is a work in progress.
496+
497+
## Update Compiler Explorer
498+
499+
Thrust and CUB are bundled together on
500+
[Compiler Explorer](https://www.godbolt.org/) (CE) as libraries for the CUDA
501+
language. When releasing a new version of these projects, CE will need to be
502+
updated.
503+
504+
There are two files in two repos that need to be updated:
505+
506+
### libraries.yaml
507+
508+
- Repo: https://github.com/compiler-explorer/infra
509+
- Path: bin/yaml/libraries.yaml
510+
511+
This file tells CE how to pull in library files and defines which versions to
512+
fetch. Look for the `thrustcub:` section:
513+
514+
```yaml
515+
thrustcub:
516+
type: github
517+
method: clone_branch
518+
repo: NVIDIA/thrust
519+
check_file: dependencies/cub/cub/cub.cuh
520+
targets:
521+
- 1.9.9
522+
- 1.9.10
523+
- 1.9.10-1
524+
- 1.10.0
525+
```
526+
527+
Simply add the new version tag to list of `targets:`. This will check out the
528+
specified tag to `/opt/compiler-explorer/libs/thrustcub/<tag>/`.
529+
530+
### cuda.amazon.properties
531+
532+
- Repo: https://github.com/compiler-explorer/compiler-explorer
533+
- File: etc/config/cuda.amazon.properties
534+
535+
This file defines the library versions displayed in the CE UI and maps them
536+
to a set of include directories. Look for the `libs.thrustcub` section:
537+
538+
```yaml
539+
libs.thrustcub.name=Thrust+CUB
540+
libs.thrustcub.description=CUDA collective and parallel algorithms
541+
libs.thrustcub.versions=trunk:109090:109100:109101:110000
542+
libs.thrustcub.url=http://www.github.com/NVIDIA/thrust
543+
libs.thrustcub.versions.109090.version=1.9.9
544+
libs.thrustcub.versions.109090.path=/opt/compiler-explorer/libs/thrustcub/1.9.9:/opt/compiler-explorer/libs/thrustcub/1.9.9/dependencies/cub
545+
libs.thrustcub.versions.109100.version=1.9.10
546+
libs.thrustcub.versions.109100.path=/opt/compiler-explorer/libs/thrustcub/1.9.10:/opt/compiler-explorer/libs/thrustcub/1.9.10/dependencies/cub
547+
libs.thrustcub.versions.109101.version=1.9.10-1
548+
libs.thrustcub.versions.109101.path=/opt/compiler-explorer/libs/thrustcub/1.9.10-1:/opt/compiler-explorer/libs/thrustcub/1.9.10-1/dependencies/cub
549+
libs.thrustcub.versions.110000.version=1.10.0
550+
libs.thrustcub.versions.110000.path=/opt/compiler-explorer/libs/thrustcub/1.10.0:/opt/compiler-explorer/libs/thrustcub/1.10.0/dependencies/cub
551+
libs.thrustcub.versions.trunk.version=trunk
552+
libs.thrustcub.versions.trunk.path=/opt/compiler-explorer/libs/thrustcub/trunk:/opt/compiler-explorer/libs/thrustcub/trunk/dependencies/cub
553+
```
554+
555+
Add a new version identifier to the `libs.thrustcub.versions` key, using the
556+
convention `X.Y.Z-W -> XXYYZZWW`. Then add a corresponding UI label (the
557+
`version` key) and set of colon-separated include paths for Thrust and CUB
558+
(`path`). The version used in the `path` entries must exactly match the tag
559+
specified in `libraries.yaml`.

0 commit comments

Comments
 (0)