From 976f24ecb4dfa3f2cc71838ac5ea957300f4ea78 Mon Sep 17 00:00:00 2001 From: Giulio Malitesta Date: Tue, 14 Jul 2026 14:34:18 +0200 Subject: [PATCH 1/5] Add draft "How to Cite SCALE" page Adds a citation page giving ready-to-copy BibTeX for the two SCALE papers (HCDS '25 and Middleware '24, fields taken from Crossref) and for the software itself, plus plain-text forms. Copy-to-clipboard comes free from the theme's existing content.code.copy feature. The page is a DRAFT: the proposed values are pending answers from the team, and every open decision is marked with a TODO(cite-N) comment matching the questions asked internally. It is therefore kept out of the nav for now; re-enable the nav entry in mkdocs.yml once the TODOs are resolved and the draft banner is removed. Note for future editors: the macros plugin runs pages through Jinja2 before Markdown, so the {{...}} in BibTeX corporate-author fields must stay wrapped in {% raw %} or the build breaks. --- docs/citation.md | 214 +++++++++++++++++++++++++++++++++++++++++++++++ mkdocs.yml | 4 + 2 files changed, 218 insertions(+) create mode 100644 docs/citation.md diff --git a/docs/citation.md b/docs/citation.md new file mode 100644 index 0000000..5911fc3 --- /dev/null +++ b/docs/citation.md @@ -0,0 +1,214 @@ +# How to Cite SCALE + +!!! danger "DRAFT - do not deploy" + + This page is a draft. The values below are *proposals*, pending answers from + the team. Each open decision is marked with a `TODO(cite-N)` comment in the + Markdown source, numbered to match the questions asked internally: + + 1. **Which paper is primary?** Proposed: the HCDS '25 paper. + 2. **Software DOI?** Proposed: none - we have paper DOIs, but SCALE itself is + not archived (no Zenodo record). + 3. **Software author?** Proposed: `Spectral Compute Ltd` as a corporate author. + 4. **Title wording?** Proposed: "SCALE: a CUDA-compatible GPU programming toolkit". + 5. **Canonical URL?** Proposed: `https://scale-lang.com`. + 6. **Version/year policy?** Proposed: pin the current release, bump by hand. + + Remove this admonition, resolve every `TODO(cite-N)`, and re-enable the nav + entry in `mkdocs.yml` before this page ships. + +If SCALE contributed to work you are publishing - a paper, a preprint, a poster, +a thesis, a technical report, or the artifact description that accompanies them - +please cite it. Citations help other researchers reproduce your results, +and they help us justify continued investment in SCALE. + +As a rule of thumb, cite SCALE whenever you would have cited a compiler or a GPU +runtime: if your results were produced by CUDA code that SCALE compiled or ran, +it belongs in your references. Mentioning the *version* you used matters too, +since compiler and library behaviour changes between releases. + +## Which reference should I use? + +There are two kinds of reference on this page, and they are not interchangeable: + +- **The papers** describe how SCALE works. Cite one of these when you discuss + SCALE's approach, compare against it, or credit the ideas behind it. +- **The software** is what actually produced your numbers. Cite this - with the + version - when SCALE compiled or ran the code behind your results. + +If SCALE both inspired a point you make *and* produced your results, cite both. +That is the usual case for an experimental paper. + +## Citing the papers + + + +The most complete description of SCALE is the HCDS '25 paper. Prefer it unless +you specifically need the earlier one: + +{% raw %} +```bibtex +@inproceedings{pavlidakis2025crossvendor, + author = {Pavlidakis, Manos and Kitching, Chris and Tomlinson, Nicholas + and S{\o}ndergaard, Michael}, + title = {Cross-Vendor {GPU} Programming: Extending {CUDA} Beyond {NVIDIA}}, + booktitle = {Proceedings of the 4th Workshop on Heterogeneous Composable + and Disaggregated Systems (HCDS '25)}, + publisher = {ACM}, + address = {New York, NY, USA}, + year = {2025}, + month = mar, + pages = {45--51}, + doi = {10.1145/3723851.3723860}, +} +``` +{% endraw %} + +The earlier Middleware '24 demo paper is a shorter, two-page introduction to +ahead-of-time compilation of CUDA for AMD GPUs: + +{% raw %} +```bibtex +@inproceedings{pavlidakis2024scale, + author = {Pavlidakis, Manos and Kitching, Chris and Tomlinson, Nicholas + and S{\o}ndergaard, Michael}, + title = {{SCALE}-Ahead-Of-Time Compilation of {CUDA} for {AMD} {GPU}s}, + booktitle = {Proceedings of the 25th International Middleware Conference: + Demos, Posters and Doctoral Symposium (Middleware '24)}, + publisher = {ACM}, + address = {New York, NY, USA}, + year = {2024}, + month = dec, + pages = {5--6}, + doi = {10.1145/3704440.3704782}, +} +``` +{% endraw %} + +Both entries were generated from the publishers' Crossref metadata. The page +ranges use LaTeX `--` rather than the en-dashes in ACM's own BibTeX export, and +`S{\o}ndergaard` is escaped so the entries work in bibliographies that are not +compiled as UTF-8. If you use BibLaTeX with `biber`, you can safely write +`Søndergaard` instead. + +The `doi` field requires a `doi = {...}`-aware bibliography style (most modern +ACM, IEEE and BibLaTeX styles are). If yours ignores it, add the resolver link +by hand: . + +## Citing the software + + + +SCALE itself is not archived under its own DOI, so cite it as software, naming +the version you used. + + + + + + +Use the `@software` entry if your bibliography is processed by BibLaTeX, which is +the case for most modern LaTeX templates: + +{% raw %} +```bibtex +@software{scale, + author = {{Spectral Compute Ltd}}, + title = {{SCALE}: a {CUDA}-compatible {GPU} programming toolkit}, + version = {1.7.1}, + date = {2026-06-01}, + url = {https://scale-lang.com}, +} +``` +{% endraw %} + +If you are using legacy BibTeX (for example, an older conference template that +still runs `bibtex` rather than `biber`), `@software` is not a recognised entry +type. Use this instead: + +{% raw %} +```bibtex +@misc{scale, + author = {{Spectral Compute Ltd}}, + title = {{SCALE}: a {CUDA}-compatible {GPU} programming toolkit}, + year = {2026}, + note = {Version 1.7.1}, + howpublished = {\url{https://scale-lang.com}}, +} +``` +{% endraw %} + +The braces around `{% raw %}{{Spectral Compute Ltd}}{% endraw %}` tell BibTeX that the author is an +organisation rather than a person, and stop it from being reformatted as +"Ltd, S. C.". The inner braces in the title preserve the capitalisation of +`SCALE`, `CUDA` and `GPU` in styles that would otherwise lowercase them. + +`\url{}` requires the `url` or `hyperref` package. If your template loads +neither, replace it with the bare address. + +## Plain text + +For bibliography styles you fill in by hand, or for acknowledgements sections. + +The paper: + +```text +Manos Pavlidakis, Chris Kitching, Nicholas Tomlinson, and Michael Søndergaard. +Cross-Vendor GPU Programming: Extending CUDA Beyond NVIDIA. In Proceedings of +the 4th Workshop on Heterogeneous Composable and Disaggregated Systems (HCDS +'25), pages 45-51. ACM, 2025. https://doi.org/10.1145/3723851.3723860 +``` + +The software: + +```text +Spectral Compute Ltd. SCALE: a CUDA-compatible GPU programming toolkit, +version 1.7.1, 2026. https://scale-lang.com +``` + +An in-text mention might read: + +```text +CUDA sources were compiled for AMD GPUs with SCALE 1.7.1 (Spectral Compute Ltd). +``` + +## Citing a specific version + +The software entries above name the release that was current when this page was +last updated. If you used a different one, change `version` (and the `date` or `year`) +to match what you actually ran, so that others can reproduce your results against +the same toolchain. + +You can print the version of an installed SCALE with: + +```shell +nvcc --version +``` + +Release dates for every version are listed in the +[changelog](./manual/changelogs/whats-new.md). + +## Tell us about your work + +We would love to hear what you built. If you publish something that uses SCALE, +tell us on [Discord](./contact/join-our-discord.md) or email +[hello@spectralcompute.co.uk](mailto:hello@spectralcompute.co.uk). + +Note that citing SCALE does not imply that we endorse your work, and that SCALE +is a registered trademark of Spectral Compute Ltd - see +[Use of Trademarks](./use_of_trademarks.md). diff --git a/mkdocs.yml b/mkdocs.yml index 11f7392..75e8c31 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -133,6 +133,9 @@ nav: - manual/changelogs/whats-new.md - manual/faq.md - manual/comparison.md + # DRAFT: re-enable once the TODO(cite-N) decisions in docs/citation.md are + # resolved. Keep in sync with `not_in_nav` below. + # - citation.md - Contact Us: - contact/report-a-bug.md - contact/join-our-discord.md @@ -179,3 +182,4 @@ nav: not_in_nav: | /use_of_trademarks.md + /citation.md From ec3d491ebe07e9f526614e0254e20d84157c508e Mon Sep 17 00:00:00 2001 From: Giulio Malitesta Date: Tue, 14 Jul 2026 14:52:06 +0200 Subject: [PATCH 2/5] Fix contact links on citation page Use the tracked Discord short link and the .com contact address. --- docs/citation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/citation.md b/docs/citation.md index 5911fc3..e54434a 100644 --- a/docs/citation.md +++ b/docs/citation.md @@ -206,8 +206,8 @@ Release dates for every version are listed in the ## Tell us about your work We would love to hear what you built. If you publish something that uses SCALE, -tell us on [Discord](./contact/join-our-discord.md) or email -[hello@spectralcompute.co.uk](mailto:hello@spectralcompute.co.uk). +tell us on [Discord](https://scale-lang.com/s/discord?utm_source=docs&utm_medium=internal) +or email [hello@spectralcompute.com](mailto:hello@spectralcompute.com). Note that citing SCALE does not imply that we endorse your work, and that SCALE is a registered trademark of Spectral Compute Ltd - see From 95553ffc017f23cb1d46a6847387dbadc2c2f3c3 Mon Sep 17 00:00:00 2001 From: Giulio Malitesta Date: Tue, 14 Jul 2026 14:59:37 +0200 Subject: [PATCH 3/5] Link Discord via the contact page, not a raw invite Keeps a single source of truth for the Discord URL. --- docs/citation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/citation.md b/docs/citation.md index e54434a..32411a6 100644 --- a/docs/citation.md +++ b/docs/citation.md @@ -206,8 +206,8 @@ Release dates for every version are listed in the ## Tell us about your work We would love to hear what you built. If you publish something that uses SCALE, -tell us on [Discord](https://scale-lang.com/s/discord?utm_source=docs&utm_medium=internal) -or email [hello@spectralcompute.com](mailto:hello@spectralcompute.com). +tell us on [Discord](./contact/join-our-discord.md) or email +[hello@spectralcompute.com](mailto:hello@spectralcompute.com). Note that citing SCALE does not imply that we endorse your work, and that SCALE is a registered trademark of Spectral Compute Ltd - see From d72a2ad35f2d29e4f2b504fcb08b831974d7a635 Mon Sep 17 00:00:00 2001 From: Giulio Malitesta Date: Wed, 15 Jul 2026 13:17:23 +0200 Subject: [PATCH 4/5] Finalise the citation page per internal feedback Restructure along the lines of scikit-rf's "Acknowledging or Citing" page, with "In Presentations or Apps" first: we care more about people acknowledging that they use SCALE than about formal citations. - Academic citations now point at the latest paper (HCDS '25) only. - Drop the @software/@misc entries: the paper is the citation. - Offer suggested "powered by" wording and invite people to ask us for logo assets. - Remove the draft banner and the TODO markers; re-enable the nav entry and drop the page from not_in_nav. --- docs/citation.md | 221 ++++++++++------------------------------------- mkdocs.yml | 5 +- 2 files changed, 46 insertions(+), 180 deletions(-) diff --git a/docs/citation.md b/docs/citation.md index 32411a6..52c0db8 100644 --- a/docs/citation.md +++ b/docs/citation.md @@ -1,53 +1,55 @@ -# How to Cite SCALE +# Acknowledging or Citing SCALE -!!! danger "DRAFT - do not deploy" +If SCALE is part of your application, your product, or the work behind a +publication, we would appreciate a mention. It helps other people discover +SCALE, and it helps us understand how it is being used. - This page is a draft. The values below are *proposals*, pending answers from - the team. Each open decision is marked with a `TODO(cite-N)` comment in the - Markdown source, numbered to match the questions asked internally: +## In Presentations or Apps - 1. **Which paper is primary?** Proposed: the HCDS '25 paper. - 2. **Software DOI?** Proposed: none - we have paper DOIs, but SCALE itself is - not archived (no Zenodo record). - 3. **Software author?** Proposed: `Spectral Compute Ltd` as a corporate author. - 4. **Title wording?** Proposed: "SCALE: a CUDA-compatible GPU programming toolkit". - 5. **Canonical URL?** Proposed: `https://scale-lang.com`. - 6. **Version/year policy?** Proposed: pin the current release, bump by hand. +If your application, product, demo, or talk uses SCALE, please say so - a +simple mention linking to [scale-lang.com](https://scale-lang.com) is perfect: - Remove this admonition, resolve every `TODO(cite-N)`, and re-enable the nav - entry in `mkdocs.yml` before this page ships. +```text +Powered by SCALE (https://scale-lang.com) +``` -If SCALE contributed to work you are publishing - a paper, a preprint, a poster, -a thesis, a technical report, or the artifact description that accompanies them - -please cite it. Citations help other researchers reproduce your results, -and they help us justify continued investment in SCALE. +or, in running text: + +```text +GPU support on AMD hardware is provided by SCALE, a CUDA-compatible GPU +programming toolkit by Spectral Compute (https://scale-lang.com). +``` -As a rule of thumb, cite SCALE whenever you would have cited a compiler or a GPU -runtime: if your results were produced by CUDA code that SCALE compiled or ran, -it belongs in your references. Mentioning the *version* you used matters too, -since compiler and library behaviour changes between releases. +If you would like the SCALE logo for a slide deck or an "about" screen, get in +touch on [Discord](./contact/join-our-discord.md) or at +[hello@spectralcompute.com](mailto:hello@spectralcompute.com) and we will be +happy to help. -## Which reference should I use? +## In Publications -There are two kinds of reference on this page, and they are not interchangeable: +If SCALE contributed to work you are publishing - a paper, a preprint, a +poster, or a thesis - please acknowledge it. A sentence like this works well, +with a link to [scale-lang.com](https://scale-lang.com) if the venue permits: -- **The papers** describe how SCALE works. Cite one of these when you discuss - SCALE's approach, compare against it, or credit the ideas behind it. -- **The software** is what actually produced your numbers. Cite this - with the - version - when SCALE compiled or ran the code behind your results. +```text +This work made use of SCALE, a CUDA-compatible GPU programming toolkit by +Spectral Compute (https://scale-lang.com). +``` -If SCALE both inspired a point you make *and* produced your results, cite both. -That is the usual case for an experimental paper. +Consider naming the SCALE version you used (printed by `nvcc --version`; +release dates are in the [changelog](./manual/changelogs/whats-new.md)), so +that others can reproduce your results against the same toolchain. -## Citing the papers +For a formal citation, please cite this paper: - +```text +Manos Pavlidakis, Chris Kitching, Nicholas Tomlinson, and Michael Søndergaard. +Cross-Vendor GPU Programming: Extending CUDA Beyond NVIDIA. In Proceedings of +the 4th Workshop on Heterogeneous Composable and Disaggregated Systems (HCDS +'25), pages 45-51. ACM, 2025. https://doi.org/10.1145/3723851.3723860 +``` -The most complete description of SCALE is the HCDS '25 paper. Prefer it unless -you specifically need the earlier one: +Or, in BibTeX: {% raw %} ```bibtex @@ -67,148 +69,15 @@ you specifically need the earlier one: ``` {% endraw %} -The earlier Middleware '24 demo paper is a shorter, two-page introduction to -ahead-of-time compilation of CUDA for AMD GPUs: - -{% raw %} -```bibtex -@inproceedings{pavlidakis2024scale, - author = {Pavlidakis, Manos and Kitching, Chris and Tomlinson, Nicholas - and S{\o}ndergaard, Michael}, - title = {{SCALE}-Ahead-Of-Time Compilation of {CUDA} for {AMD} {GPU}s}, - booktitle = {Proceedings of the 25th International Middleware Conference: - Demos, Posters and Doctoral Symposium (Middleware '24)}, - publisher = {ACM}, - address = {New York, NY, USA}, - year = {2024}, - month = dec, - pages = {5--6}, - doi = {10.1145/3704440.3704782}, -} -``` -{% endraw %} - -Both entries were generated from the publishers' Crossref metadata. The page -ranges use LaTeX `--` rather than the en-dashes in ACM's own BibTeX export, and -`S{\o}ndergaard` is escaped so the entries work in bibliographies that are not -compiled as UTF-8. If you use BibLaTeX with `biber`, you can safely write -`Søndergaard` instead. - -The `doi` field requires a `doi = {...}`-aware bibliography style (most modern -ACM, IEEE and BibLaTeX styles are). If yours ignores it, add the resolver link -by hand: . - -## Citing the software - - - -SCALE itself is not archived under its own DOI, so cite it as software, naming -the version you used. - - - - - - -Use the `@software` entry if your bibliography is processed by BibLaTeX, which is -the case for most modern LaTeX templates: - -{% raw %} -```bibtex -@software{scale, - author = {{Spectral Compute Ltd}}, - title = {{SCALE}: a {CUDA}-compatible {GPU} programming toolkit}, - version = {1.7.1}, - date = {2026-06-01}, - url = {https://scale-lang.com}, -} -``` -{% endraw %} - -If you are using legacy BibTeX (for example, an older conference template that -still runs `bibtex` rather than `biber`), `@software` is not a recognised entry -type. Use this instead: - -{% raw %} -```bibtex -@misc{scale, - author = {{Spectral Compute Ltd}}, - title = {{SCALE}: a {CUDA}-compatible {GPU} programming toolkit}, - year = {2026}, - note = {Version 1.7.1}, - howpublished = {\url{https://scale-lang.com}}, -} -``` -{% endraw %} - -The braces around `{% raw %}{{Spectral Compute Ltd}}{% endraw %}` tell BibTeX that the author is an -organisation rather than a person, and stop it from being reformatted as -"Ltd, S. C.". The inner braces in the title preserve the capitalisation of -`SCALE`, `CUDA` and `GPU` in styles that would otherwise lowercase them. - -`\url{}` requires the `url` or `hyperref` package. If your template loads -neither, replace it with the bare address. - -## Plain text - -For bibliography styles you fill in by hand, or for acknowledgements sections. - -The paper: - -```text -Manos Pavlidakis, Chris Kitching, Nicholas Tomlinson, and Michael Søndergaard. -Cross-Vendor GPU Programming: Extending CUDA Beyond NVIDIA. In Proceedings of -the 4th Workshop on Heterogeneous Composable and Disaggregated Systems (HCDS -'25), pages 45-51. ACM, 2025. https://doi.org/10.1145/3723851.3723860 -``` - -The software: - -```text -Spectral Compute Ltd. SCALE: a CUDA-compatible GPU programming toolkit, -version 1.7.1, 2026. https://scale-lang.com -``` - -An in-text mention might read: - -```text -CUDA sources were compiled for AMD GPUs with SCALE 1.7.1 (Spectral Compute Ltd). -``` - -## Citing a specific version - -The software entries above name the release that was current when this page was -last updated. If you used a different one, change `version` (and the `date` or `year`) -to match what you actually ran, so that others can reproduce your results against -the same toolchain. - -You can print the version of an installed SCALE with: - -```shell -nvcc --version -``` - -Release dates for every version are listed in the -[changelog](./manual/changelogs/whats-new.md). +The entry was generated from the publisher's Crossref metadata. `S{\o}ndergaard` +is escaped so it works in bibliographies that are not compiled as UTF-8; if you +use BibLaTeX with `biber`, you can safely write `Søndergaard` instead. ## Tell us about your work -We would love to hear what you built. If you publish something that uses SCALE, -tell us on [Discord](./contact/join-our-discord.md) or email +We would love to hear what you built. If you publish or ship something that +uses SCALE, tell us on [Discord](./contact/join-our-discord.md) or email [hello@spectralcompute.com](mailto:hello@spectralcompute.com). -Note that citing SCALE does not imply that we endorse your work, and that SCALE -is a registered trademark of Spectral Compute Ltd - see +Note that SCALE is a registered trademark of Spectral Compute Ltd - see [Use of Trademarks](./use_of_trademarks.md). diff --git a/mkdocs.yml b/mkdocs.yml index 75e8c31..7e24387 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -133,9 +133,7 @@ nav: - manual/changelogs/whats-new.md - manual/faq.md - manual/comparison.md - # DRAFT: re-enable once the TODO(cite-N) decisions in docs/citation.md are - # resolved. Keep in sync with `not_in_nav` below. - # - citation.md + - citation.md - Contact Us: - contact/report-a-bug.md - contact/join-our-discord.md @@ -182,4 +180,3 @@ nav: not_in_nav: | /use_of_trademarks.md - /citation.md From fb4a34d2164c7eeb09b44189c51afd6e3ee6c1d0 Mon Sep 17 00:00:00 2001 From: Giulio Malitesta Date: Wed, 15 Jul 2026 13:53:23 +0200 Subject: [PATCH 5/5] Make the in-text mention example vendor-neutral SCALE targets NVIDIA GPUs too, and portability is only one reason to use it, so the example should not presume AMD or a porting use case. --- docs/citation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/citation.md b/docs/citation.md index 52c0db8..61c7538 100644 --- a/docs/citation.md +++ b/docs/citation.md @@ -16,8 +16,8 @@ Powered by SCALE (https://scale-lang.com) or, in running text: ```text -GPU support on AMD hardware is provided by SCALE, a CUDA-compatible GPU -programming toolkit by Spectral Compute (https://scale-lang.com). +This application is built with SCALE, a CUDA-compatible GPU programming +toolkit by Spectral Compute (https://scale-lang.com). ``` If you would like the SCALE logo for a slide deck or an "about" screen, get in