Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.7.0 to master #1451

Merged
merged 583 commits into from
Nov 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
583 commits
Select commit Hold shift + click to select a range
8913fc1
Format files
ginkgo-bot Oct 6, 2023
f5d5e28
add common size getter
pratikvn Oct 6, 2023
143aabe
Move lin_op_helpers back to lin_op
pratikvn Oct 9, 2023
d332a0e
Review updates
pratikvn Oct 10, 2023
f11e389
Format files
ginkgo-bot Oct 10, 2023
fb75ac3
Add batch_linop_fac mask to logger.
pratikvn Oct 10, 2023
0bd2b24
Review updates
pratikvn Oct 10, 2023
b13e0df
Doc clarifications
pratikvn Oct 10, 2023
ade5bb3
Add batch dense base class, core and kernels
pratikvn Oct 1, 2023
4f8c875
add reference kernels WIP
pratikvn Oct 2, 2023
5bdedb1
Generalize batch utilities
pratikvn Oct 3, 2023
669cc19
MultiVector to BatchDense conversion
pratikvn Oct 3, 2023
989b17c
Add tests for BatchDense core
pratikvn Oct 3, 2023
12c6520
Add reference kernel tests
pratikvn Oct 3, 2023
1b14a26
Add OMP tests and fix kernel
pratikvn Oct 3, 2023
3273d69
Format files
ginkgo-bot Oct 4, 2023
579b3e7
circ dep and typo fixes
pratikvn Oct 4, 2023
e97d628
Add CUDA, HIP kernels and tests
pratikvn Oct 4, 2023
0d0b119
Add SYCL kernels and tests WIP
pratikvn Oct 4, 2023
f4b9b86
HIP and CUDA thrust fixes
pratikvn Oct 5, 2023
ac61ccd
SYCL kernel fixes
pratikvn Oct 5, 2023
f731960
BatchDense -> batch::Dense
pratikvn Oct 5, 2023
37ce4f6
Doc updates and multivector view
pratikvn Oct 5, 2023
33c71c1
Format files
ginkgo-bot Oct 6, 2023
fd9a228
Use CommonTestFixture value_type
pratikvn Oct 6, 2023
a71ce20
Review updates
pratikvn Oct 9, 2023
2e8e600
Review updates
pratikvn Oct 9, 2023
5ac0ad8
dpcpp Jacobi needs ranlux
pratikvn Oct 9, 2023
8ab42cb
Remove create_multivector_view
pratikvn Oct 9, 2023
00eba98
Format files
ginkgo-bot Oct 9, 2023
ceb97e0
const_array_view needs to be in gko::
pratikvn Oct 9, 2023
f6d4c4e
Review updates
pratikvn Oct 10, 2023
a34315f
Move apply validation to BatchLinOp
pratikvn Oct 10, 2023
2b65f14
Add to test_install
pratikvn Oct 10, 2023
5928b9f
Format files
ginkgo-bot Oct 10, 2023
ed59e2f
Review updates
pratikvn Oct 10, 2023
17d54f3
destroy rand_generator
yhmtsai Sep 14, 2023
c2649de
Fix PAPI segmentation fault (#1419)
yhmtsai Oct 12, 2023
74997fc
Update tau.cpp
khuck Oct 12, 2023
1ca0deb
review updates
upsj Oct 13, 2023
fe60c74
add icpx support
yhmtsai Jun 14, 2023
27d7512
add gko_add_sycl_to_target
yhmtsai Aug 21, 2023
e31912e
rename GINKGO_BUILD_DPCPP to GINKGO_BUILD_SYCL
yhmtsai Aug 21, 2023
b08c490
do not delete deprecated var from CMake, keep doc
yhmtsai Oct 13, 2023
dfb9607
adapt MKL and oneDPL env
yhmtsai Oct 13, 2023
392a626
add factorization unpack functions
upsj Oct 15, 2023
aee10ee
test composition unpacking
upsj Oct 16, 2023
671b975
refactor tests to use index_type template param
upsj Oct 16, 2023
6fbcd9f
group tests by fixture
upsj Oct 16, 2023
07f01db
review updates
upsj Oct 17, 2023
c459676
Add batch::matrix::Ell class and core
pratikvn Oct 6, 2023
79fb2c1
Add ref, omp kernels and scaffold
pratikvn Oct 6, 2023
e0683e4
Use only int32
pratikvn Oct 6, 2023
251914e
Generalize and rewrite batch utils
pratikvn Oct 7, 2023
3622b20
Add OMP, CUDA, HIP kernels and tests
pratikvn Oct 8, 2023
301fa6e
Add DPCPP kernels and tests
pratikvn Oct 8, 2023
715235c
Update docs
pratikvn Oct 8, 2023
5cdcede
Format files
ginkgo-bot Oct 8, 2023
a2c8e65
Some general fixes.
pratikvn Oct 10, 2023
b4d877f
Kernel updates and batch_random_matrix gen
pratikvn Oct 11, 2023
ea78506
Review updates
pratikvn Oct 11, 2023
0532b2b
Add apply temp clone, review updates
pratikvn Oct 12, 2023
ca45935
Format files
ginkgo-bot Oct 12, 2023
a74b018
Fix sparsity issues and review updates
pratikvn Oct 12, 2023
9f07718
vector mat data with duplication
pratikvn Oct 16, 2023
70044e4
Review updates
pratikvn Oct 16, 2023
e13b07b
Format files
ginkgo-bot Oct 16, 2023
b2f7b47
Review updates
pratikvn Oct 17, 2023
e256261
Add vec mean implementation
greole Feb 12, 2023
01205e5
use ptr_param
greole Oct 13, 2023
e7feed3
fix documentation
greole Oct 14, 2023
61b7c80
update documentation and tests
greole Oct 14, 2023
52ef32d
use GKO_EXPECT_NEAR
greole Oct 14, 2023
f5e3c9e
fix documentation
greole Oct 14, 2023
fd9ca82
Fixup missing template declaration, add more tests
greole Oct 15, 2023
569e1f6
Fixup call with ptr_param
greole Oct 15, 2023
bed8878
Add review suggestions
greole Oct 16, 2023
a192d94
Update test/mpi/vector.cpp
greole Oct 17, 2023
927d9e7
Update test/mpi/vector.cpp
greole Oct 17, 2023
393ea41
Add review suggestions
greole Oct 17, 2023
b3dbc67
Doc fixes and format
greole Oct 17, 2023
452af10
Use simpler implementation for reference
greole Oct 17, 2023
c364dd8
Fix reference compute mean impl, add test
greole Oct 18, 2023
3e1c831
add the const apply check
yhmtsai Oct 19, 2023
4ef1159
fix batch ell infinite loop
yhmtsai Oct 19, 2023
53a006a
Add pregenerated local solver as factory param
greole Oct 13, 2023
dc36bf8
Add unit test
greole Oct 13, 2023
79aaaa1
Test if generate fails for invalid solver states
greole Oct 16, 2023
1ff74f5
refactor build method a bit, add unit tests
greole Oct 17, 2023
7ff3728
add missing test
greole Oct 17, 2023
fc17c0b
Implement review comments
greole Oct 18, 2023
b345caa
Add review suggestions
greole Oct 18, 2023
bd5fc17
Format files
ginkgo-bot Oct 23, 2023
a5942fa
add dpcpp csr diagonal missing components
yhmtsai Oct 18, 2023
f784614
refine the kernel
yhmtsai Oct 23, 2023
6444d96
Fix memory_order invocations to be inline with C++20 changes
jbadwaik Aug 30, 2023
cec594b
failed: missing diag in tail and ensure all diag
yhmtsai Oct 24, 2023
04449bb
enough work for check and initial non-full-diag ex
yhmtsai Oct 24, 2023
ad4d2bb
improve-doc
upsj Sep 3, 2023
0302243
doc-and-new-interface
upsj Sep 3, 2023
f669e50
add new interface and kernels
upsj Oct 6, 2023
17da78c
improve permutation interface consistency
upsj Oct 9, 2023
c70dbf7
swap order of scaling and permutation
upsj Oct 9, 2023
270ba17
add SYCL kernels
upsj Oct 12, 2023
03a7288
add permutation combination functions
upsj Oct 12, 2023
430769a
Format files
ginkgo-bot Oct 12, 2023
bb856df
fix warning
upsj Oct 18, 2023
a7d4dff
review updates
upsj Oct 24, 2023
ab7afe6
fix incorrect combination function
upsj Oct 24, 2023
8004d23
review updates
upsj Oct 27, 2023
51bdc06
fix DPC++ compilation
upsj Oct 27, 2023
d0bb5f5
fix test precision
upsj Oct 27, 2023
33e59f2
rename get_scale to get_scaling_factors
upsj Oct 27, 2023
21b379f
fix misc test-related warnings
upsj Oct 27, 2023
a8a7e56
add new interface for RCM
upsj Oct 8, 2023
3c6edeb
deprecate old interface
upsj Oct 13, 2023
78e15bd
simplify generation
upsj Oct 13, 2023
1b52749
disable deprecation warnings
upsj Oct 13, 2023
f4874cf
fix deprecation warnings
upsj Oct 28, 2023
25f1dba
add documentation
upsj Oct 28, 2023
b422f11
fix cross-executor copy in RCM
upsj Oct 29, 2023
ff93308
Format files
ginkgo-bot Oct 29, 2023
8584dac
fix gcc 5.5 build
upsj Oct 29, 2023
f9ceef6
replaces try-run with try-compile in OpenMPI check
MarcelKoch Oct 31, 2023
1882578
review updates:
MarcelKoch Oct 31, 2023
cd3d2e2
pass slurm job failure
yhmtsai Oct 31, 2023
4448a5a
Add batch::dense const, update batch struct
pratikvn Oct 21, 2023
9c3d0ad
Add BatchBicgstab core, classes and dispatch
pratikvn Oct 21, 2023
464f907
Add a batch logger class and core
pratikvn Oct 21, 2023
0492d88
Add a BatchIdentity matrix class
pratikvn Oct 21, 2023
19d48a0
Add batch stopping critieria
pratikvn Oct 21, 2023
31065d8
Add ref and omp kernels and placeholders
pratikvn Oct 21, 2023
9af6c49
Add core BatchBicgstab solver tests
pratikvn Oct 21, 2023
da0c443
Add BatchIdentity preconditioner
pratikvn Oct 21, 2023
2d772bb
Add batch matrix gen utils and test helpers
pratikvn Oct 21, 2023
47cdd98
Rename classes
pratikvn Oct 21, 2023
17aa330
Some ref kernel simplifications
pratikvn Oct 21, 2023
d97f6ca
Add reference kernel tests
pratikvn Oct 22, 2023
0e9d347
Fix apply and more ref tests
pratikvn Oct 22, 2023
b6f4598
Fix ref test issues
pratikvn Oct 22, 2023
09d9518
Add omp tests and gen improvements
pratikvn Oct 23, 2023
67541fd
Fix logger and update docs
pratikvn Oct 23, 2023
2b3abb4
re-template logger and logdata
pratikvn Oct 23, 2023
46d0a7f
doc improvements and some restructuring
pratikvn Oct 24, 2023
c82db23
formatting and renames
pratikvn Oct 24, 2023
3b3a593
generic logdata improvements
pratikvn Oct 24, 2023
e3f2b60
rename kernel namespaces
pratikvn Oct 24, 2023
9376d73
use workspace for logger
pratikvn Oct 24, 2023
fe95661
use new factory setup, move crit to base
pratikvn Oct 25, 2023
6c416f4
Add batch identity test and fix apply
pratikvn Oct 25, 2023
c2eecfc
Review updates
pratikvn Oct 25, 2023
14ea40a
s/BicgstabSettings/settings
pratikvn Oct 26, 2023
304e8e4
Fix workspace issues and review updates
pratikvn Oct 26, 2023
9482f89
Review updates
pratikvn Oct 26, 2023
85f6d04
rename crit getters and setters
pratikvn Oct 26, 2023
f3dead7
Format files
ginkgo-bot Oct 26, 2023
b8d36d7
Update copy/move semantics
pratikvn Oct 29, 2023
8d93158
Review updates
pratikvn Oct 30, 2023
0b36a80
Review updates
pratikvn Oct 30, 2023
1b278c5
Fix cuda incom type and check defaults
pratikvn Oct 31, 2023
e186ae1
clarify implicit/actual res norm docs, MSVC fixes
pratikvn Oct 31, 2023
e35691b
review updates
pratikvn Oct 31, 2023
6cb61ec
fix LaTeX in documentation
upsj Nov 1, 2023
5325aaa
add the failed tests which requires <= not <
yhmtsai Nov 2, 2023
92b3b38
adding <= to residual norms
yhmtsai Nov 2, 2023
14ffe90
loop on mode for the test
yhmtsai Nov 3, 2023
6dbba9a
Format files
ginkgo-bot Nov 3, 2023
7a036c7
use proper atomics for ParILU(T) and ParIC(T)
upsj Oct 16, 2023
8e1c140
add check for miss_criteria
yhmtsai Oct 27, 2023
537f85e
make the type in deferred_factory explicitly
yhmtsai Oct 11, 2023
26912ab
move type before macro like others, reduce ! cond
yhmtsai Oct 24, 2023
99455ae
add test, check non-compiled, and use namespace from top
yhmtsai Oct 26, 2023
1a3de39
reuse the macro
yhmtsai Oct 27, 2023
d58ba52
remove mutable for factory parameter
yhmtsai Oct 28, 2023
bd2c945
update doc
yhmtsai Oct 28, 2023
b628020
use the self from base mixin and update test name
yhmtsai Oct 31, 2023
1e79ccb
Fix return value in CUDA memory order functions
Nov 3, 2023
942f9e1
add reference near-symmetric symbolic LU
upsj Oct 30, 2023
42df230
add OpenMP tests
upsj Oct 30, 2023
540c762
add CUDA/HIP near-symmetric symbolic LU
upsj Oct 31, 2023
502d6d6
add near-symmetric symbolic LU to interface
upsj Oct 31, 2023
4f778ee
rename matching name and type
upsj Nov 2, 2023
9abffd3
review updates
upsj Nov 4, 2023
3bee41d
work around rocThrust bug
upsj Nov 4, 2023
791695f
handle deprecation warnings uniformly
upsj Oct 28, 2023
1aaf9cb
Remove Rcm deprecation warning
Nov 5, 2023
a80f5d7
Format files
ginkgo-bot Nov 5, 2023
7a6f751
Add cuda batch bicgstab kernels
pratikvn Oct 26, 2023
190e063
Add hip bicgstab solver kernels
pratikvn Oct 26, 2023
37d6292
Add dpcpp kernels
pratikvn Oct 27, 2023
ce537d1
Fix dpcpp kernel issues
pratikvn Oct 28, 2023
94a5233
add mvec single rhs specializations
pratikvn Oct 29, 2023
5e66404
minor dpcpp fixes
pratikvn Oct 29, 2023
160e854
Review updates
pratikvn Oct 29, 2023
5db8662
Fix sycl group and subgroup sizes
pratikvn Oct 29, 2023
683f7c9
Format files
ginkgo-bot Oct 29, 2023
5484be7
Review updates
pratikvn Oct 30, 2023
63588d8
Use synchronize for error handling
pratikvn Nov 1, 2023
fe1d1ad
Format files
ginkgo-bot Nov 1, 2023
1dcc6a7
Add scoped cuda shmem config
pratikvn Nov 1, 2023
4e13a72
move max_shmem query to internal
pratikvn Nov 1, 2023
1df892b
Update size_type in tests
pratikvn Nov 2, 2023
16800e0
Update contributors.txt
pratikvn Nov 2, 2023
b3dfe31
review updates
pratikvn Nov 2, 2023
8ec4922
Format files
ginkgo-bot Nov 2, 2023
690c4ea
dpcpp group size and doc fixes
pratikvn Nov 2, 2023
d8684e9
use global_and_local barrier
pratikvn Nov 3, 2023
4e9c4ec
Fix Intel2020 apply call issue
pratikvn Nov 3, 2023
368cf6b
Fix diag_dominance and tol issue
pratikvn Nov 3, 2023
e0d016e
Fix some include issues
pratikvn Nov 4, 2023
f1d661d
Review updates
pratikvn Nov 4, 2023
bf23675
use fence_space::global_and_local
pratikvn Nov 4, 2023
00febd5
Use updated deferred factory macros.
pratikvn Nov 5, 2023
39b6f5b
Review updates
pratikvn Nov 5, 2023
c2d959a
Format files
ginkgo-bot Nov 5, 2023
994d353
Add first MC64 kernels and test examples
Feb 22, 2022
21bb17a
First working implementation of the permutation part of MC64
Feb 25, 2022
cda6f7c
Add computation of scaling coefficients
Mar 4, 2022
ef2146f
tune to match HSL performance
May 6, 2022
70580ab
Fix reference kernel tests to current version
Sep 9, 2022
72d2c2b
Add more tests
Sep 15, 2022
12619d7
Small fix after rebasing
Sep 16, 2022
9e909de
Format files
ginkgo-bot Sep 16, 2022
951bcc1
work on reference kernel tests
Sep 16, 2022
f163e67
fix typo
Sep 16, 2022
e8438bd
Address review comments
Feb 13, 2023
7bd0a83
update Copyright statement
Feb 13, 2023
ab287ca
Fix rebasing error
Feb 13, 2023
7ddbc8c
make MC64 core functionality
upsj Aug 22, 2023
10c14cd
review updates
upsj Nov 2, 2023
e9ac4bf
optimize addressable PQ for MC64
upsj Nov 2, 2023
db10ce6
fix test
upsj Nov 2, 2023
482764d
fix libstdc++ build issues
upsj Nov 2, 2023
19f103b
review updates
upsj Nov 3, 2023
02dc852
Format files
ginkgo-bot Nov 3, 2023
a04bd8c
fix linking errors
upsj Nov 4, 2023
de65877
review updates
upsj Nov 4, 2023
32ddaf2
handle empty inputs
upsj Nov 6, 2023
546a9bd
disable MSVC debug build
upsj Nov 6, 2023
6aaef34
add MSVC release shared
upsj Nov 6, 2023
cdb1bbf
test mc64 float arrays only approximately
upsj Nov 6, 2023
a73c666
fix link, clarify variables in mc64_kernels test
upsj Nov 6, 2023
96dc859
fix format error in master
tcojean Nov 6, 2023
a59d72b
Change the benchmark tests stderr to include (master)
tcojean Nov 6, 2023
1175703
Add initial 1.7.0 changelog
tcojean Nov 6, 2023
a7d7097
Changelog updates
tcojean Nov 7, 2023
4104e92
Changelog: recap previous deprecations
tcojean Nov 7, 2023
109052f
Remove lend from batch documentation
tcojean Nov 8, 2023
e03110e
Changelog: update the verion requirement and ordering
tcojean Nov 10, 2023
6cee27c
typo: fix OneAPI -> oneAPI
tcojean Nov 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
23 changes: 23 additions & 0 deletions .github/_typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[files]
extend-exclude = ["third_party/*", "*.svg"]

[default.extend-words]
dout = "dout"
nd = "nd"
tht = "tht"
automatical = "automatical"
strat = "strat"
entrie = "entrie"
agregate = "agregate" # since that script name is already in ginkgo-data repo

[default.extend-identifiers]
set_complex_subpsace = "set_complex_subpsace" # remove when deprecated function is gone
HSA_HEADER = "HSA_HEADER"
conj_operaton = "conj_operaton" # considered interface break in range.hpp
imag_operaton = "imag_operaton" # considered interface break in range.hpp
real_operaton = "real_operaton" # considered interface break in range.hpp
one_operaton = "one_operaton" # considered interface break in range.hpp
abs_operaton = "abs_operaton" # considered interface break in range.hpp
max_operaton = "max_operaton" # considered interface break in range.hpp
min_operaton = "min_operaton" # considered interface break in range.hpp
squared_norm_operaton = "squared_norm_operaton" # considered interface break in range.hpp
2 changes: 1 addition & 1 deletion .github/workflows/bot-pr-updated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
runs-on: ubuntu-latest
if: github.event.pull_request.author_association == 'COLLABORATOR' || github.event.pull_request.author_association == 'MEMBER' || github.event.pull_request.author_association == 'OWNER'
env:
CMAKE_FLAGS: -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=DEBUG -DGINKGO_BUILD_TESTS=OFF -DGINKGO_BUILD_EXAMPLES=OFF -DGINKGO_BUILD_BENCHMARKS=OFF -DGINKGO_BUILD_HWLOC=OFF -DGINKGO_BUILD_REFERENCE=OFF -DGINKGO_BUILD_OMP=OFF -DGINKGO_BUILD_CUDA=OFF -DGINKGO_BUILD_HIP=OFF -DGINKGO_BUILD_DPCPP=OFF
CMAKE_FLAGS: -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=DEBUG -DGINKGO_BUILD_TESTS=OFF -DGINKGO_BUILD_EXAMPLES=OFF -DGINKGO_BUILD_BENCHMARKS=OFF -DGINKGO_BUILD_HWLOC=OFF -DGINKGO_BUILD_REFERENCE=OFF -DGINKGO_BUILD_OMP=OFF -DGINKGO_BUILD_CUDA=OFF -DGINKGO_BUILD_HIP=OFF -DGINKGO_BUILD_SYCL=OFF
steps:
- name: Checkout the new code (shallow clone)
uses: actions/checkout@v3
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/intel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ jobs:
fail-fast: false
matrix:
config:
- {build_type: "Release", name: "intel/release/shared", "mixed": "ON"}
- {compiler: "dpcpp", build_type: "Release", name: "intel/dpcpp/release/shared", mixed: "ON"}
- {compiler: "icpx", build_type: "Release", name: "intel/icpx/release/shared", mixed: "OFF"}
name: ${{ matrix.config.name }}
runs-on: [gpu_intel]

Expand All @@ -35,9 +36,9 @@ jobs:
spack find --loaded
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=install_ginkgo -DCMAKE_CXX_COMPILER=dpcpp -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -DGINKGO_MIXED_PRECISION=${{ matrix.config.mixed }} -DGINKGO_DPCPP_SINGLE_MODE=ON
cmake .. -DCMAKE_INSTALL_PREFIX=install_ginkgo -DGINKGO_COMPILER_FLAGS="-ffp-model=precise" -DCMAKE_CXX_COMPILER=${{ matrix.config.compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -DGINKGO_MIXED_PRECISION=${{ matrix.config.mixed }} -DGINKGO_DPCPP_SINGLE_MODE=ON
make -j8
SYCL_DEVICE_FILTER=level_zero ctest -j10 --output-on-failure
ONEAPI_DEVICE_SELECTOR=level_zero:gpu ctest -j10 --output-on-failure

- name: install
run: |
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/spell_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Test GitHub Action
on:
pull_request:
types: [opened, synchronize]

jobs:
run:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check for typos
uses: crate-ci/typos@master
with:
config: .github/_typos.toml

4 changes: 3 additions & 1 deletion .github/workflows/windows-msvc-ref.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,10 @@ jobs:
fail-fast: false
matrix:
config:
- {shared: "ON", build_type: "Debug", name: "reference/debug/shared"}
# Debug shared exceeds symbol limit
# - {shared: "ON", build_type: "Debug", name: "reference/debug/shared"}
- {shared: "OFF", build_type: "Release", name: "reference/release/static"}
- {shared: "ON", build_type: "Release", name: "reference/release/shared"}
# Debug static needs too much storage
# - {shared: "OFF", build_type: "Debug", name: "reference/debug/static"}
name: msvc/${{ matrix.config.name }}
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ compile_commands.json
CTestTestfile.cmake
build

### Python
__pycache__

### IDE
# Clion
.idea
Expand Down
102 changes: 55 additions & 47 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ include:
- local: '.gitlab/rules.yml'
- local: '.gitlab/scripts.yml'
- local: '.gitlab/variables.yml'
# This is a workaround to conditionally make the branch pipelines
# interruptible, because the flag does not directly support rules [1].
#
# [1] https://gitlab.com/gitlab-org/gitlab/-/issues/194023#note_1225906002
- local: '.gitlab/add-interrupt.yml'
rules:
- if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "develop" && $CI_COMMIT_TAG !~ /^v\d+\.\d+\.\d+/

sync:
stage: sync
Expand Down Expand Up @@ -86,20 +93,6 @@ trigger_pipeline:

# Build jobs
# Job with example runs.
# cuda 9.2 and friends
build/cuda92/nompi/gcc/all/release/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .use_gko-cuda92-mvapich2-gnu7-llvm50-intel2017
variables:
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_HIP: "ON"
BUILD_TYPE: "Release"
CUDA_ARCH: 61

# cuda 10.1 and friends
# Build CUDA NVIDIA without omp
# Make sure that our jobs run when HWLOC is
Expand All @@ -120,6 +113,7 @@ build/cuda101/nompi/clang/cuda_wo_omp/release/shared:
CUDA_ARCH: 35

# Job with example runs.
# Also explicitly test PAPI SDE
build/cuda101/openmpi/gcc/all/debug/shared:
extends:
- .build_template
Expand All @@ -133,6 +127,7 @@ build/cuda101/openmpi/gcc/all/debug/shared:
MPI_AS_ROOT: "ON"
BUILD_HIP: "ON"
BUILD_TYPE: "Debug"
BUILD_PAPI_SDE: "ON"
RUN_EXAMPLES: "ON"
CUDA_ARCH: 35

Expand Down Expand Up @@ -169,7 +164,6 @@ build/cuda101/nompi/clang/all/release/static:
# MPI_AS_ROOT: "ON"
# BUILD_HIP: "OFF"
# BUILD_TYPE: "Release"
# CUDA_ARCH: 61


#build/clang-cuda101/nompi/clang/cuda/debug/static:
Expand All @@ -187,7 +181,6 @@ build/cuda101/nompi/clang/all/release/static:
# BUILD_TYPE: "Debug"
# FAST_TESTS: "ON"
# BUILD_SHARED_LIBS: "OFF"
# CUDA_ARCH: 61


# cuda 10.2 and friends
Expand Down Expand Up @@ -272,6 +265,8 @@ test/cuda110/mvapich2/gcc/cuda/debug/shared:
SLURM_GRES: "gpu:4"
SLURM_TIME: "02:00:00"
dependencies: null
# FIXME: current slurm always reports failure even if all tests are passed.
allow_failure: yes
needs: [ "build/cuda110/mvapich2/gcc/cuda/debug/shared" ]


Expand Down Expand Up @@ -302,9 +297,11 @@ test/cuda110/nompi/clang/cuda/release/static:
variables:
USE_NAME: "cuda110-nompi-clang-${CI_PIPELINE_ID}"
SLURM_PARTITION: "accelerated"
SLURM_GRES: "gpu:1"
SLURM_GRES: "gpu:4"
SLURM_TIME: "01:30:00"
dependencies: null
# FIXME: current slurm always reports failure even if all tests are passed.
allow_failure: yes
needs: [ "build/cuda110/nompi/clang/cuda/release/static" ]


Expand Down Expand Up @@ -336,9 +333,11 @@ test/cuda110/nompi/intel/cuda/debug/static:
variables:
USE_NAME: "cuda110-nompi-intel-${CI_PIPELINE_ID}"
SLURM_PARTITION: "accelerated"
SLURM_GRES: "gpu:1"
SLURM_GRES: "gpu:4"
SLURM_TIME: "02:00:00"
dependencies: null
# FIXME: current slurm always reports failure even if all tests are passed.
allow_failure: yes
needs: [ "build/cuda110/nompi/intel/cuda/debug/static" ]


Expand All @@ -348,7 +347,7 @@ build/cuda114/nompi/gcc/cuda/debug/shared:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .use_gko_cuda114-openmpi-gnu11-llvm12
- .use_gko_cuda114-openmpi-gnu10-llvm12
variables:
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
Expand All @@ -358,7 +357,6 @@ build/cuda114/nompi/gcc/cuda/debug/shared:
CXX_FLAGS: "-Wno-error=maybe-uninitialized"
# disable spurious unused argument warning
EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177"
CUDA_ARCH: 61


# nvhpc and friends
Expand All @@ -381,7 +379,6 @@ build/nvhpc233/cuda120/nompi/nvcpp/release/static:
CXX_FLAGS: "--diag_suppress=useless_using_declaration,declared_but_not_referenced"
# disable spurious unused argument warning
EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177"
CUDA_ARCH: 61

build/nvhpc227/cuda117/nompi/nvcpp/debug/shared:
extends:
Expand All @@ -401,7 +398,6 @@ build/nvhpc227/cuda117/nompi/nvcpp/debug/shared:
CXX_FLAGS: "--diag_suppress=useless_using_declaration,declared_but_not_referenced"
# disable spurious unused argument warning
EXTRA_CMAKE_FLAGS: "-DCMAKE_CUDA_FLAGS=-diag-suppress=177"
CUDA_ARCH: 61

# ROCm 4.5 and friends
build/amd/nompi/gcc/rocm45/release/shared:
Expand Down Expand Up @@ -538,24 +534,13 @@ build/nocuda/openmpi/clang/omp/debug/static:
FAST_TESTS: "ON"
BUILD_SHARED_LIBS: "OFF"

test/nocuda/openmpi/clang/omp/debug/static:
extends:
- .build_and_test_template
- .default_variables
- .full_test_condition
- .use_gko-nocuda-openmpi-gnu9-llvm8
variables:
USE_NAME: "nocuda-openmpi-clang-${CI_PIPELINE_ID}"
dependencies: null
needs: [ "build/nocuda/openmpi/clang/omp/debug/static" ]

# nocuda with the oldest supported compiler
build/nocuda/nompi/gcc/omp/release/static:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .use_gko-nocuda-mvapich2-gnu5-llvm39-intel2018
- .use_gko-nocuda-mvapich2-gnu5-llvm39-intel2019
variables:
BUILD_OMP: "ON"
BUILD_TYPE: "Release"
Expand All @@ -566,7 +551,7 @@ build/nocuda-nomixed/nompi/clang/omp/release/static:
- .build_and_test_template
- .default_variables
- .full_test_condition
- .use_gko-nocuda-mvapich2-gnu5-llvm39-intel2018
- .use_gko-nocuda-mvapich2-gnu5-llvm39-intel2019
variables:
C_COMPILER: "clang"
CXX_COMPILER: "clang++"
Expand Down Expand Up @@ -602,7 +587,7 @@ build/nocuda-nomixed/nompi/clang/omp/debug/static:
BUILD_SHARED_LIBS: "OFF"
MIXED_PRECISION: "OFF"

build/dpcpp/2022-1/cpu/release/static:
build/dpcpp/2022-1/cpu/release/shared:
extends:
- .build_and_test_template
- .default_variables
Expand All @@ -611,10 +596,11 @@ build/dpcpp/2022-1/cpu/release/static:
variables:
C_COMPILER: "gcc"
CXX_COMPILER: "dpcpp"
BUILD_DPCPP: "ON"
BUILD_SYCL: "ON"
GKO_COMPILER_FLAGS: "-ffp-model=precise"
BUILD_TYPE: "Release"
BUILD_SHARED_LIBS: "ON"
SYCL_DEVICE_TYPE: "CPU"
SYCL_DEVICE_FILTER: "*:cpu"
SLURM_PARTITION: "cpu"
SLURM_TIME: "2:00:00"
# This job is not in exclusive mode
Expand All @@ -629,11 +615,12 @@ build/dpcpp/igpu/release/shared:
variables:
C_COMPILER: "gcc"
CXX_COMPILER: "dpcpp"
BUILD_DPCPP: "ON"
BUILD_SYCL: "ON"
GKO_COMPILER_FLAGS: "-ffp-model=precise"
BUILD_TYPE: "Release"
BUILD_SHARED_LIBS: "ON"
DPCPP_SINGLE_MODE: "ON"
SYCL_DEVICE_TYPE: "GPU"
ONEAPI_DEVICE_SELECTOR: "*:gpu"

# TODO: Enable when debug shared library size issues are fixed
# build/dpcpp/level_zero_igpu/debug/shared:
Expand All @@ -645,11 +632,12 @@ build/dpcpp/igpu/release/shared:
# variables:
# C_COMPILER: "gcc"
# CXX_COMPILER: "dpcpp"
# BUILD_DPCPP: "ON"
# BUILD_SYCL: "ON"
# GKO_COMPILER_FLAGS: "-ffp-model=precise"
# BUILD_TYPE: "Debug"
# BUILD_SHARED_LIBS: "ON"
# DPCPP_SINGLE_MODE: "ON"
# SYCL_DEVICE_FILTER: "Level_Zero:GPU"
# ONEAPI_DEVICE_SELECTOR: "level_zero:gpu"

# It gives two available backends of GPU on tests
build/dpcpp/dgpu/release/static:
Expand All @@ -661,11 +649,12 @@ build/dpcpp/dgpu/release/static:
variables:
C_COMPILER: "gcc"
CXX_COMPILER: "dpcpp"
BUILD_DPCPP: "ON"
BUILD_SYCL: "ON"
GKO_COMPILER_FLAGS: "-ffp-model=precise"
BUILD_TYPE: "Release"
BUILD_SHARED_LIBS: "OF"
DPCPP_SINGLE_MODE: "ON"
SYCL_DEVICE_TYPE: "GPU"
ONEAPI_DEVICE_SELECTOR: "*:gpu"

build/dpcpp/level_zero_dgpu/release/shared:
extends:
Expand All @@ -676,10 +665,26 @@ build/dpcpp/level_zero_dgpu/release/shared:
variables:
C_COMPILER: "gcc"
CXX_COMPILER: "dpcpp"
BUILD_DPCPP: "ON"
BUILD_SYCL: "ON"
GKO_COMPILER_FLAGS: "-ffp-model=precise"
BUILD_TYPE: "Release"
DPCPP_SINGLE_MODE: "ON"
ONEAPI_DEVICE_SELECTOR: "level_zero:gpu"

build/icpx/level_zero_dgpu/release/shared:
extends:
- .build_and_test_template
- .default_variables
- .quick_test_condition
- .use_gko-oneapi-dgpu
variables:
C_COMPILER: "icx"
CXX_COMPILER: "icpx"
BUILD_SYCL: "ON"
GKO_COMPILER_FLAGS: "-ffp-model=precise"
BUILD_TYPE: "Release"
DPCPP_SINGLE_MODE: "ON"
SYCL_DEVICE_FILTER: "Level_Zero:GPU"
ONEAPI_DEVICE_SELECTOR: "level_zero:gpu"

# Job with important warnings as error
warnings:
Expand All @@ -694,6 +699,7 @@ warnings:
BUILD_CUDA: "ON"
BUILD_HIP: "ON"
CXX_FLAGS: "-Werror=pedantic -pedantic-errors"
GKO_COMPILER_FLAGS: "-Wpedantic"
allow_failure: yes

# Ensure kernel modules do not depend on core
Expand Down Expand Up @@ -818,6 +824,7 @@ sonarqube_cov:
# Deploy documentation to github-pages
gh-pages:
stage: deploy
interruptible: false
extends:
- .default_variables
- .deploy_condition
Expand All @@ -833,7 +840,7 @@ gh-pages:
-DCMAKE_CUDA_COMPILER=${CUDA_COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
-DBUILD_SHARED_LIBS=ON ${EXTRA_CMAKE_FLAGS} -DGINKGO_DEVEL_TOOLS=OFF
-DGINKGO_BUILD_REFERENCE=OFF -DGINKGO_BUILD_OMP=OFF -DGINKGO_BUILD_CUDA=OFF
-DGINKGO_BUILD_HIP=OFF -DGINKGO_BUILD_DPCPP=OFF -DGINKGO_BUILD_MPI=OFF
-DGINKGO_BUILD_HIP=OFF -DGINKGO_BUILD_SYCL=OFF -DGINKGO_BUILD_MPI=OFF
-DGINKGO_BUILD_TESTS=OFF -DGINKGO_BUILD_EXAMPLES=OFF
-DGINKGO_BUILD_DOC=ON -DGINKGO_DOC_GENERATE_PDF=ON
- make usr
Expand Down Expand Up @@ -921,6 +928,7 @@ cudamemcheck:

new-issue-on-failure:
stage: on-failure
interruptible: false
extends:
- .default_variables
- .use_status-job-settings
Expand Down
2 changes: 2 additions & 0 deletions .gitlab/add-interrupt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
default:
interruptible: true
Loading
Loading