Skip to content

add constructor StateVector(Kokkos::View<Complex*> view) for gate_pro… #116

add constructor StateVector(Kokkos::View<Complex*> view) for gate_pro…

add constructor StateVector(Kokkos::View<Complex*> view) for gate_pro… #116

Workflow file for this run

name: Build and Test
on:
push:
paths-ignore:
- ".devcontainer/**"
- ".vscode/**"
- "doc/**"
- "*.md"
pull_request:
paths-ignore:
- ".devcontainer/**"
- ".vscode/**"
- "doc/**"
- "*.md"
jobs:
test:
name: Build and Test
strategy:
matrix:
os: ["linux", "macos"]
architecture: ["x86_64", "arm64"]
device: ["cpu", "cuda"]
python-version: ["3.10"]
exclude:
- os: "macos"
device: "cuda"
# currently ARM runner is not supported
- os: "linux"
architecture: "arm64"
include:
- os: "linux"
architecture: "x86_64"
runs-on: "ubuntu-22.04"
- os: "macos"
architecture: "x86_64"
runs-on: "macos-13"
- os: "macos"
architecture: "arm64"
runs-on: "macos-14"
runs-on: ${{ matrix.runs-on }}
env:
CMAKE_C_COMPILER: ${{ matrix.runs-on == 'macos-13' && '/usr/local/opt/ccache/libexec/gcc-14'|| matrix.runs-on == 'macos-14' && '/opt/homebrew/opt/ccache/libexec/gcc-14' || '/usr/lib/ccache/gcc' }}
CMAKE_CXX_COMPILER: ${{ matrix.runs-on == 'macos-13' && '/usr/local/opt/ccache/libexec/g++-14'|| matrix.runs-on == 'macos-14' && '/opt/homebrew/opt/ccache/libexec/g++-14' || '/usr/lib/ccache/g++' }}
CMAKE_BUILD_TYPE: ${{ matrix.device == 'cuda' && 'Release' || 'Debug' }}
SCALUQ_USE_TEST: "ON"
SCALUQ_USE_CUDA: ${{ matrix.device == 'cuda' && 'ON' || 'OFF' }}
SCALUQ_CUDA_ARCH: "PASCAL61"
steps:
- uses: actions/checkout@v4
- name: Install Ninja
if: ${{ matrix.os == 'linux' }}
run: sudo apt update && sudo apt install ninja-build
- name: Install Ninja
if: ${{ matrix.os == 'macos' }}
run: brew install ninja
- name: Setup ccache
uses: hendrikmuhs/[email protected]
with:
key: "${{ github.job }}-${{ matrix.os }}-${{ matrix.architecture }}-${{ matrix.device }}"
verbose: 2
- name: Install CUDA toolkit
if: ${{ matrix.device == 'cuda' }}
uses: Jimver/[email protected]
with:
cuda: "12.2.0"
method: "network"
- name: Show installed Compiler version
run: |
[ $SCALUQ_USE_CUDA = 'ON' ] && nvcc --version
ccache --version
$CMAKE_C_COMPILER --version
$CMAKE_CXX_COMPILER --version
cmake --version
ninja --version
- name: Install scaluq for Ubuntu
run: ./script/build_gcc.sh
- name: Install scaluq Python module
run: pip install .[ci]
- name: Test in Ubuntu
if: ${{ matrix.device == 'cpu' }} # currently GPU runner is not supported
run: |
if [ "$(uname)" == 'Darwin' ]; then
NPROC=$(sysctl -n hw.logicalcpu)
else
NPROC=$(nproc)
fi
OMP_PROC_BIND=false ninja test -C build -j ${NPROC}
- name: Test if stub exists
if: ${{ matrix.device == 'cpu' }} # currently GPU runner is not supported
run: |
echo -e "from scaluq import StateVector\nfrom scaluq.gate import I" > /tmp/stub_sample.py
mypy /tmp/stub_sample.py