LORD she runnin #88
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: MacOS | |
on: | |
push: | |
env: | |
C_FLAGS: '-Isrc -std=c99 -lstdc++' | |
CPP_FLAGS: '-Isrc -std=c++14' | |
CUDA_FLAGS: '' | |
MPI_FLAGS: '-DDISTRIBUTED_MODE' | |
OPENMP_COMP_FLAGS: '-Xclang -fopenmp -I/usr/local/opt/libomp/include' | |
OPENMP_LINK_FLAGS: '-lomp -L/usr/local/opt/libomp/lib' | |
jobs: | |
cpp_cpu: | |
name: C++ (CPU) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: compile backend | |
run: | | |
clang++ -c src/core.cpp $CPP_FLAGS -o core.o | |
clang++ -c src/alts.cpp $CPP_FLAGS -o alts.o | |
clang++ -c src/comm.cpp $CPP_FLAGS -o comm.o | |
clang++ -c src/multi.cpp $CPP_FLAGS -o multi.o | |
- name: compile and link main | |
run: | | |
clang++ main.cpp core.o alts.o comm.o multi.o $CPP_FLAGS -o main | |
- name: run main | |
run: | | |
./main | |
cpp_mpi: | |
name: C++ (MPI) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: mpi4py/setup-mpi@v1 | |
- name: compile backend | |
run: | | |
clang++ -c src/core.cpp $CPP_FLAGS -o core.o | |
clang++ -c src/alts.cpp $CPP_FLAGS -o alts.o | |
clang++ -c src/multi.cpp $CPP_FLAGS -o multi.o | |
mpic++ -c src/comm.cpp $CPP_FLAGS $MPI_FLAGS -o comm.o | |
- name: compile and link main | |
run: | | |
mpic++ main.cpp core.o alts.o comm.o multi.o $CPP_FLAGS -o main | |
- name: run main | |
run: | | |
mpiexec -n 2 ./main | |
c_cpu: | |
name: C (CPU) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: compile backend | |
run: | | |
clang++ -c src/core.cpp $CPP_FLAGS -o core.o | |
clang++ -c src/alts.cpp $CPP_FLAGS -o alts.o | |
clang++ -c src/comm.cpp $CPP_FLAGS -o comm.o | |
clang++ -c src/multi.cpp $CPP_FLAGS -o multi.o | |
- name: compile and link main | |
run: | | |
clang main.c core.o alts.o comm.o multi.o $C_FLAGS -o main | |
- name: run main | |
run: | | |
./main | |
c_mpi: | |
name: C (MPI) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: mpi4py/setup-mpi@v1 | |
- name: compile backend | |
run: | | |
clang++ -c src/core.cpp $CPP_FLAGS -o core.o | |
clang++ -c src/alts.cpp $CPP_FLAGS -o alts.o | |
clang++ -c src/multi.cpp $CPP_FLAGS -o multi.o | |
mpic++ -c src/comm.cpp $CPP_FLAGS $MPI_FLAGS -o comm.o | |
- name: compile and link main | |
run: | | |
mpicc main.c core.o alts.o comm.o multi.o $C_FLAGS -o main | |
- name: run main | |
run: | | |
mpiexec -np 2 ./main | |
cpp_cpu_multi: | |
name: C++ (CPU) (OpenMP) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: prepare libomp | |
run: | | |
brew install libomp | |
- name: compile backend | |
run: | | |
clang++ -c src/core.cpp $CPP_FLAGS -o core.o | |
clang++ -c src/alts.cpp $CPP_FLAGS -o alts.o | |
clang++ -c src/comm.cpp $CPP_FLAGS -o comm.o | |
clang++ -c src/multi.cpp $CPP_FLAGS $OPENMP_COMP_FLAGS -o multi.o | |
- name: compile and link main | |
run: | | |
clang++ main.cpp core.o alts.o comm.o multi.o $CPP_FLAGS $OPENMP_LINK_FLAGS -o main | |
- name: run main | |
run: | | |
export OMP_NUM_THREADS=2 | |
./main | |
cpp_mpi_multi: | |
name: C++ (MPI) (OpenMP) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: mpi4py/setup-mpi@v1 | |
- name: prepare libomp | |
run: | | |
brew install libomp | |
- name: compile backend | |
run: | | |
clang++ -c src/core.cpp $CPP_FLAGS -o core.o | |
clang++ -c src/alts.cpp $CPP_FLAGS -o alts.o | |
clang++ -c src/multi.cpp $CPP_FLAGS $OPENMP_COMP_FLAGS -o multi.o | |
mpic++ -c src/comm.cpp $CPP_FLAGS $MPI_FLAGS -o comm.o | |
- name: compile and link main | |
run: | | |
mpic++ main.cpp core.o alts.o comm.o multi.o $CPP_FLAGS $OPENMP_LINK_FLAGS -o main | |
- name: run main | |
run: | | |
export OMP_NUM_THREADS=2 | |
mpiexec -n 2 ./main | |
c_cpu_multi: | |
name: C (CPU) (OpenMP) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: prepare libomp | |
run: | | |
brew install libomp | |
- name: compile backend | |
run: | | |
clang++ -c src/core.cpp $CPP_FLAGS -o core.o | |
clang++ -c src/alts.cpp $CPP_FLAGS -o alts.o | |
clang++ -c src/comm.cpp $CPP_FLAGS -o comm.o | |
clang++ -c src/multi.cpp $CPP_FLAGS $OPENMP_COMP_FLAGS -o multi.o | |
- name: compile and link main | |
run: | | |
clang main.c core.o alts.o comm.o multi.o $C_FLAGS $OPENMP_LINK_FLAGS -o main | |
- name: run main | |
run: | | |
export OMP_NUM_THREADS=2 | |
./main | |
c_mpi_multi: | |
name: C (MPI) (OpenMP) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: mpi4py/setup-mpi@v1 | |
- name: prepare libomp | |
run: | | |
brew install libomp | |
- name: compile backend | |
run: | | |
clang++ -c src/core.cpp $CPP_FLAGS -o core.o | |
clang++ -c src/alts.cpp $CPP_FLAGS -o alts.o | |
clang++ -c src/multi.cpp $CPP_FLAGS $OPENMP_COMP_FLAGS -o multi.o | |
mpic++ -c src/comm.cpp $CPP_FLAGS $MPI_FLAGS -o comm.o | |
- name: compile and link main | |
run: | | |
mpicc main.c core.o alts.o comm.o multi.o $C_FLAGS $OPENMP_LINK_FLAGS -o main | |
- name: run main | |
run: | | |
export OMP_NUM_THREADS=2 | |
mpiexec -np 2 ./main |