diff --git a/.Rbuildignore b/.Rbuildignore index a364ed8..be82aae 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -8,3 +8,6 @@ ^\.gitattributes$ ^review$ ^cran-comments\.md$ +^_pkgdown\.yml$ +^docs$ +^pkgdown$ diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml new file mode 100644 index 0000000..e3aca87 --- /dev/null +++ b/.github/workflows/pkgdown.yaml @@ -0,0 +1,50 @@ +# Build the documentation site with pkgdown and publish it to GitHub Pages +# (https://nullsatz.github.io/gputools/) on every push to master. The +# runner has no CUDA, so this is the no-CUDA build: the examples, which +# run only if gpuAvailable(), are shown but not run, and the benchmarks +# vignette reads its measurements from the CSVs in vignettes/. +name: pkgdown + +on: + push: + branches: [master] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-24.04 + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v4 + - uses: r-lib/actions/setup-pandoc@v2 + - uses: r-lib/actions/setup-r@v2 + with: + use-public-rspm: true + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::pkgdown, local::. + needs: website + - run: Rscript -e 'pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)' + - uses: actions/upload-pages-artifact@v3 + with: + path: docs + + deploy: + needs: build + runs-on: ubuntu-24.04 + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 0cfb2d0..6efe66b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ src/Makevars src/*.o src/*.so src/nocuda-reason.h +docs/ diff --git a/DESCRIPTION b/DESCRIPTION index d5f45aa..ece5dd9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -27,5 +27,5 @@ Description: GPU versions of base R statistics for data with many package installs, and its functions explain how to get a 'CUDA' build. Described in Buckner et al. (2010) . License: GPL-3 -URL: https://github.com/nullsatz/gputools +URL: https://nullsatz.github.io/gputools/, https://github.com/nullsatz/gputools BugReports: https://github.com/nullsatz/gputools/issues diff --git a/_pkgdown.yml b/_pkgdown.yml new file mode 100644 index 0000000..9352e13 --- /dev/null +++ b/_pkgdown.yml @@ -0,0 +1,60 @@ +url: https://nullsatz.github.io/gputools/ + +template: + bootstrap: 5 + +home: + title: GPU drop-ins for base R statistics on wide data + +navbar: + structure: + left: [reference, articles] + right: [search, github] + +reference: +- title: Pairwise statistics over many variables + desc: Every pair of variables at once, on the GPU. + contents: + - gpuCor + - gpuCorPairs + - gpuAssoc + - gpuTtest + - gpuDist + - gpuGranger + - gpuMi +- title: Permutation tests + desc: Permutation and Westfall-Young maxT p-values for every test. + contents: + - gpuCorPerm + - gpuRowTtest +- title: Clustering and components + contents: + - gpuHclust + - gpuDistClust + - gpuKmeans + - gpuPrcomp + - gpuSvd +- title: Models and linear algebra + desc: The same interface as base R; base R is as fast at most sizes. + contents: + - gpuLm + - gpuLm.fit + - gpuLm.defaultTol + - gpuLsfit + - gpuGlm + - gpuQr + - gpuSolve + - gpuMatMult + - gpuCrossprod + - gpuTcrossprod + - cpuMatMult +- title: The GPU + contents: + - gpuAvailable + - chooseGpu + - getGpuId + +articles: +- title: Benchmarks + contents: + - benchmarks