Skip to content

Commit

Permalink
Testing opencl
Browse files Browse the repository at this point in the history
  • Loading branch information
andrjohns committed Aug 21, 2024
1 parent f2e152b commit 2e2dee2
Showing 1 changed file with 97 additions and 0 deletions.
97 changes: 97 additions & 0 deletions .github/workflows/R-CMD-check-opencl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
# Github Actions workflow to check CmdStanR
# yamllint disable rule:line-length

name: Unit tests

'on':
push:
branches:
- opencl-check
pull_request:
branches:
- master

jobs:
R-CMD-check:
if: "! contains(github.event.head_commit.message, '[ci skip]')"
runs-on: ${{ matrix.config.os }}

name: ${{ matrix.config.os }} (${{ matrix.config.r }})

strategy:
fail-fast: false
matrix:
config:
- {os: macOS-latest, r: 'release', rtools: ''}
env:
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
NOT_CRAN: true

steps:
- name: cmdstan env vars
run: |
echo "CMDSTAN_PATH=${HOME}/.cmdstan" >> $GITHUB_ENV
shell: bash

- uses: n1hility/cancel-previous-runs@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/master'"

- uses: actions/checkout@v4

- uses: r-lib/actions/[email protected]
with:
r-version: ${{ matrix.config.r }}
rtools-version: ${{ matrix.config.rtools }}

- uses: r-lib/actions/[email protected]

- uses: r-lib/actions/[email protected]
with:
extra-packages: any::rcmdcheck, local::.

- name: Install POCL
run: brew install pocl

- name: Install cmdstan
run: |
cmdstanr::check_cmdstan_toolchain(fix = TRUE)
cmdstanr::install_cmdstan(cores = 2)
shell: Rscript {0}

- name: CmdStan Config OpenCL
run: |
brew_prefix <- system("brew --prefix", intern = TRUE)
cpp_opts <- list(
STAN_OPENCL = TRUE,
LDLIBS_OPENCL = paste0("-L", brew_prefix, "/opt/opencl-icd-loader/lib -lOpenCL")
)
cmdstanr::cmdstan_make_local(cpp_options = cpp_opts)
cmdstanr::rebuild_cmdstan(cores = 2)
shell: Rscript {0}

- name: Session info
run: |
options(width = 100)
pkgs <- installed.packages()[, "Package"]
sessioninfo::session_info(pkgs, include_base = TRUE)
shell: Rscript {0}

- uses: r-lib/actions/[email protected]
env:
_R_CHECK_CRAN_INCOMING_: false

- name: Show testthat output
if: always()
run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true
shell: bash

- name: Upload check results
if: failure()
uses: actions/upload-artifact@v4
with:
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
path: check

0 comments on commit 2e2dee2

Please sign in to comment.