gpu-lang-compat
GPU Vendor/Programming Model Compatibility Table
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.2%) to scientific vocabulary
Repository
GPU Vendor/Programming Model Compatibility Table
Basic Info
Statistics
- Stars: 26
- Watchers: 3
- Forks: 2
- Open Issues: 4
- Releases: 3
Metadata Files
README.md
GPU Vendor/Programming Model Compatibility Overview
There are three vendors of HPC-grade GPUs (NVIDIA, AMD, Intel), and many different programming models to use the devices for general computing. It's a zoo! This repository collects data about the state of support of the various combinations, for C/C++ and Fortran.
The initial collection was done for a presentation (v1.0), continued to a blog post (v1.2), and further extended to a proper paper (v2.0).
The current version in HTML for can be found at x-dev.pages.jsc.fz-juelich.de/models/.
I'm happy to accept contributions for extension/correction. Please add issues or file a pull request (note the MIT license).
Structure
The core of the work is the compat.yml file, the YAML-structured raw data. By scripts and templates, this data is converted to HTML or PDF (via LaTeX; an SVG version is created from the PDF as well).
Files:
render_table.py: Read in definitions fromcompat.yml, massage data, and generate HTML and/or LaTeX code. Can be either printed to screen and/or written to file. Seerender_table.py -hcompat.yml: All the raw data, in YAML. Starts with SVG code for status icons. Then come the status assessments in form of dictionaries. And finally, a list of descriptions of the assessments.templates/: Folder for all templates to be consumed by the Python script, containing Jinja2 template files generating the respective code from the raw data. While a lot of the content is similar, there are some distinct differences – like how the footnotes are handled, because LaTeX is typeset while HTML is static.output-fragments/: Folder for generated files from the templates, plus skeletons containing boilerplate code to augment the generated files. For HTML, this is not much beyond the CSS; but for LaTeX this also includes some important definitions; but I did not want to cascade it any further.Makefile: Generate all of these. Check outmake html pdf svg.
Also, _gen-symbols/ exist, which is part of my exploration for all of this. I just might need it if I change the icons.
SC23 P3HPC Paper
The template table-template--descriptions.in.paper.tex is a heavily modified version of the standard TeX template extended to -- amongst others -- support references (from references.bib). render_table.py can also generate references in HTML output, but the implementation is very fragile; lets hope it doesn't break🤞.
A preprint of the paper can be found at arxiv.org/abs/2309.05445.
SVG Snapshot
Owner
- Name: Andreas Herten
- Login: AndiH
- Kind: user
- Location: Langerwehe, Germany
- Company: Jülich Supercomputing Centre
- Website: http://www.andreasherten.de/
- Twitter: AndiH
- Repositories: 19
- Profile: https://github.com/AndiH
HPC, GPU Computing, Python, LaTeX, and, well…, take a look around…
Citation (CITATION.cff)
cff-version: 1.2.0
title: GPU Vendor/Programming Model Compatibility Overview
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Andreas
family-names: Herten
email: a.herten@fz-juelich.de
affiliation: Jülich Supercomputing Centre
orcid: 'https://orcid.org/0000-0002-7150-2505'
identifiers:
- type: doi
value: 10.34732/xdvblg-r1bvif
description: Blogpost of Table
- type: doi
value: 10.1145/3624062.3624178
description: SC23 Workshop Paper of extended version (v2) of material with discussions
repository-code: 'https://github.com/AndiH/gpu-lang-compat'
abstract: >-
There are three vendors of HPC-grade GPUs (NVIDIA, AMD,
Intel), and many different programming models to use the
devices for general computing. It's a zoo! The overview
presents the status of the possible combinations of some
more established programming models, given comments and
details for every combination. The repository contains the
YAML raw data and scripts and templates to generate tables
(HTML, PDF via LaTeX (also SVG from PDF)).
keywords:
- Intel
- AMD
- NVIDIA
- GPGPU
- GPU
- GPU Programming
- CUDA
- HIP
- SYCL
license: MIT
version: '2.0'
date-released: '2023-11-13'
GitHub Events
Total
- Issues event: 5
- Watch event: 4
- Issue comment event: 8
- Push event: 5
- Pull request event: 1
- Create event: 1
Last Year
- Issues event: 5
- Watch event: 4
- Issue comment event: 8
- Push event: 5
- Pull request event: 1
- Create event: 1
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 10
- Total pull requests: 2
- Average time to close issues: 7 months
- Average time to close pull requests: 8 months
- Total issue authors: 3
- Total pull request authors: 1
- Average comments per issue: 0.5
- Average comments per pull request: 5.5
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: 2 months
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 3.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- AndiH (8)
- hattom (1)
- sumseq (1)
Pull Request Authors
- vchuravy (2)