@@ -489,3 +489,71 @@ The following branch names are used in the Thrust project:
489
489
On the rare occasion that we cannot do work in the open, for example when developing a change specific to an
490
490
unreleased product, these branches may exist on ` gitlab ` instead of ` github ` . By default, everything should be
491
491
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