Skip to content

Commit

Permalink
Merge Release 1.3.0 for master
Browse files Browse the repository at this point in the history
The Ginkgo team is proud to announce the new minor release of Ginkgo version
1.3.0. This release brings CUDA 11 support, changes the default C++ standard to
be C++14 instead of C++11, adds a new Diagonal matrix format and capacity for
diagonal extraction, significantly improves the CMake configuration output
format, adds the Ginkgo paper which got accepted into the Journal of Open Source
Software (JOSS), and fixes multiple issues.

Supported systems and requirements:
+ For all platforms, cmake 3.9+
+ Linux and MacOS
  + gcc: 5.3+, 6.3+, 7.3+, all versions after 8.1+
  + clang: 3.9+
  + Intel compiler: 2017+
  + Apple LLVM: 8.0+
  + CUDA module: CUDA 9.0+
  + HIP module: ROCm 2.8+
+ Windows
  + MinGW and Cygwin: gcc 5.3+, 6.3+, 7.3+, all versions after 8.1+
  + Microsoft Visual Studio: VS 2017 15.7+
  + CUDA module: CUDA 9.0+, Microsoft Visual Studio
  + OpenMP module: MinGW or Cygwin.


The current known issues can be found in the [known issues page](https://github.com/ginkgo-project/ginkgo/wiki/Known-Issues).


Additions:
+ Add paper for Journal of Open Source Software (JOSS). [#479](#479)
+ Add a DiagonalExtractable interface. [#563](#563)
+ Add a new diagonal Matrix Format. [#580](#580)
+ Add Cuda11 support. [#603](#603)
+ Add information output after CMake configuration. [#610](#610)
+ Add a new preconditioner export example. [#595](#595)
+ Add a new cuda-memcheck CI job. [#592](#592)

Changes:
+ Use unified memory in CUDA debug builds. [#621](#621)
+ Improve `BENCHMARKING.md` with more detailed info. [#619](#619)
+ Use C++14 standard instead of C++11. [#611](#611)
+ Update the Ampere sm information and CudaArchitectureSelector. [#588](#588)

Fixes:
+ Fix documentation warnings and errors. [#624](#624)
+ Fix warnings for diagonal matrix format. [#622](#622)
+ Fix criterion factory parameters in CUDA. [#586](#586)
+ Fix the norm-type in the examples. [#612](#612)
+ Fix the WAW race in OpenMP is_sorted_by_column_index. [#617](#617)
+ Fix the example's exec_map by creating the executor only if requested. [#602](#602)
+ Fix some CMake warnings. [#614](#614)
+ Fix Windows building documentation. [#601](#601)
+ Warn when CXX and CUDA host compiler do not match. [#607](#607)
+ Fix reduce_add, prefix_sum, and doc-build. [#593](#593)
+ Fix find_library(cublas) issue on machines installing multiple cuda. [#591](#591)
+ Fix allocator in sellp read. [#589](#589)
+ Fix the CAS with HIP and NVIDIA backends. [#585](#585)

Deletions:
+ Remove unused preconditioner parameter in LowerTrs. [#587](#587)

Related PR: #627
  • Loading branch information
tcojean authored Aug 27, 2020
2 parents b4be2be + f482bdc commit 4678668
Show file tree
Hide file tree
Showing 308 changed files with 9,368 additions and 2,196 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/joss.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: JOSS-build

on:
push:
paths:
- 'doc/joss/**'

jobs:
joss-generate:
name: joss-pandoc
runs-on: [ubuntu-latest]

steps:
- uses: actions/checkout@v2
- name: setup
run: sudo apt-get install texlive-xetex pandoc pandoc-citeproc
- name: info
run: |
pandoc -v
- name: build
run: |
pushd .
mkdir build
cd build
mkdir doc
cd doc
cp -r ../../doc/joss ./
cd joss
pandoc paper.md -o paper.pdf --bibliography ./paper.bib --latex-engine=xelatex
popd
- uses: actions/[email protected]
with:
name: joss-paper
path: build/doc/joss/paper.pdf

21 changes: 16 additions & 5 deletions .github/workflows/windows-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,35 @@ on: [push]

jobs:
windows_cuda:
name: cuda102/release/shared (only compile)
strategy:
fail-fast: false
matrix:
config:
- {version: "10.2.89.20191206", name: "cuda102/release/shared"}
- {version: "latest", name: "cuda-latest/release/shared"}
name: msvc/${{ matrix.config.name }} (only compile)
runs-on: [windows-latest]
steps:
- uses: actions/checkout@v2
- name: setup
- name: setup (versioned)
if: matrix.config.version != 'latest'
run: |
choco install cuda --version=${{ matrix.config.version }} -y
- name: setup (latest)
if: matrix.config.version == 'latest'
run: |
choco install cuda --version=10.2.89.20191206 -y
choco install cuda -y
- name: configure
run: |
$env:ChocolateyInstall = Convert-Path "$((Get-Command choco).Path)\..\.."
$env:ChocolateyInstall = Convert-Path "$((Get-Command choco).Path)\..\.."
Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
refreshenv
mkdir build
cd build
$env:PATH="$pwd\windows_shared_library;$env:PATH"
cmake -DGINKGO_BUILD_CUDA=ON -DGINKGO_BUILD_OMP=OFF ..
cmake --build . -j4 --config Release
windows_ref:
strategy:
fail-fast: false
Expand Down
161 changes: 130 additions & 31 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ stages:
BUILD_OMP: "OFF"
BUILD_CUDA: "OFF"
BUILD_HIP: "OFF"
CONFIG_LOG: "ON"
CXX_FLAGS: ""
EXTRA_CMAKE_FLAGS: ""

Expand Down Expand Up @@ -59,6 +60,7 @@ stages:
-DGINKGO_BUILD_OMP=${BUILD_OMP} -DGINKGO_BUILD_CUDA=${BUILD_CUDA}
-DGINKGO_BUILD_HIP=${BUILD_HIP}
-DGINKGO_BUILD_TESTS=ON -DGINKGO_BUILD_EXAMPLES=ON
-DGINKGO_CONFIG_LOG_DETAILED=${CONFIG_LOG}
- ninja -j${NUM_CORES} -l${CI_LOAD_LIMIT}
dependencies: []
except:
Expand All @@ -84,6 +86,7 @@ stages:
-DGINKGO_BUILD_OMP=${BUILD_OMP} -DGINKGO_BUILD_CUDA=${BUILD_CUDA}
-DGINKGO_BUILD_HIP=${BUILD_HIP}
-DGINKGO_BUILD_TESTS=ON -DGINKGO_BUILD_EXAMPLES=ON
-DGINKGO_CONFIG_LOG_DETAILED=${CONFIG_LOG}
- ninja -j${NUM_CORES} -l${CI_LOAD_LIMIT} install
- |
(( $(ctest -N | tail -1 | sed 's/Total Tests: //') != 0 )) || exit 1
Expand Down Expand Up @@ -199,7 +202,7 @@ build/cuda91/clang/all/release/shared:


# cuda 9.2 and friends
build/cuda92/gcc/all/release/shared:
build/cuda92/gcc/all/release/debug:
<<: *default_build_with_test
image: localhost:5000/gko-cuda92-gnu7-llvm50-intel2017
variables:
Expand All @@ -217,17 +220,56 @@ build/cuda92/gcc/all/release/shared:
- cuda
- gpu

build/cuda92/clang/all/debug/static:
build/cuda92/intel/cuda/release/static:
<<: *default_build_with_test
image: localhost:5000/gko-cuda92-gnu7-llvm50-intel2017
variables:
<<: *default_variables
C_COMPILER: "icc"
CXX_COMPILER: "icpc"
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_TYPE: "Release"
BUILD_SHARED_LIBS: "OFF"
CUDA_ARCH: 35
only:
variables:
- $RUN_CI_TAG
tags:
- private_ci
- cuda
- gpu

# cuda 10.0 and friends
build/cuda100/gcc/all/debug/shared:
<<: *default_build_with_test
image: localhost:5000/gko-cuda100-gnu7-llvm60-intel2018
variables:
<<: *default_variables
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_HIP: "ON"
BUILD_TYPE: "Debug"
CUDA_ARCH: 35
only:
variables:
- $RUN_CI_TAG
tags:
- private_ci
- cuda
- gpu

build/cuda100/clang/all/release/static:
<<: *default_build_with_test
image: localhost:5000/gko-cuda100-gnu7-llvm60-intel2018
variables:
<<: *default_variables
C_COMPILER: "clang"
CXX_COMPILER: "clang++"
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_HIP: "ON"
BUILD_TYPE: "Debug"
BUILD_TYPE: "Release"
BUILD_SHARED_LIBS: "OFF"
CUDA_ARCH: 35
only:
Expand All @@ -238,17 +280,16 @@ build/cuda92/clang/all/debug/static:
- cuda
- gpu

build/cuda92/intel/cuda/release/static:
build/cuda100/intel/cuda/release/shared:
<<: *default_build_with_test
image: localhost:5000/gko-cuda92-gnu7-llvm50-intel2017
image: localhost:5000/gko-cuda100-gnu7-llvm60-intel2018
variables:
<<: *default_variables
C_COMPILER: "icc"
CXX_COMPILER: "icpc"
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_TYPE: "Release"
BUILD_SHARED_LIBS: "OFF"
CUDA_ARCH: 35
only:
variables:
Expand All @@ -258,10 +299,10 @@ build/cuda92/intel/cuda/release/static:
- cuda
- gpu

# cuda 10.0 and friends
build/cuda100/gcc/all/debug/shared:
# cuda 10.1 and friends
build/cuda101/gcc/all/debug/shared:
<<: *default_build_with_test
image: localhost:5000/gko-cuda100-gnu7-llvm60-intel2018
image: localhost:5000/gko-cuda101-gnu8-llvm7-intel2019
variables:
<<: *default_variables
BUILD_OMP: "ON"
Expand All @@ -277,9 +318,9 @@ build/cuda100/gcc/all/debug/shared:
- cuda
- gpu

build/cuda100/clang/all/release/static:
build/cuda101/clang/all/release/static:
<<: *default_build_with_test
image: localhost:5000/gko-cuda100-gnu7-llvm60-intel2018
image: localhost:5000/gko-cuda101-gnu8-llvm7-intel2019
variables:
<<: *default_variables
C_COMPILER: "clang"
Expand All @@ -298,15 +339,16 @@ build/cuda100/clang/all/release/static:
- cuda
- gpu

build/cuda100/intel/cuda/release/shared:
# clang-cuda with cuda 10.1 and friends
build/clang-cuda101/gcc/all/release/shared:
<<: *default_build_with_test
image: localhost:5000/gko-cuda100-gnu7-llvm60-intel2018
image: localhost:5000/gko-cuda101-gnu8-llvm10-intel2019
variables:
<<: *default_variables
C_COMPILER: "icc"
CXX_COMPILER: "icpc"
CUDA_COMPILER: "clang++"
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_HIP: "ON"
BUILD_TYPE: "Release"
CUDA_ARCH: 35
only:
Expand All @@ -317,10 +359,31 @@ build/cuda100/intel/cuda/release/shared:
- cuda
- gpu

# cuda 10.1 and friends
build/cuda101/gcc/all/debug/shared:
build/clang-cuda101/clang/cuda/debug/static:
<<: *default_build_with_test
image: localhost:5000/gko-cuda101-gnu8-llvm7-intel2019
image: localhost:5000/gko-cuda101-gnu8-llvm10-intel2019
variables:
<<: *default_variables
C_COMPILER: "clang"
CXX_COMPILER: "clang++"
CUDA_COMPILER: "clang++"
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_TYPE: "Debug"
BUILD_SHARED_LIBS: "OFF"
CUDA_ARCH: 35
only:
variables:
- $RUN_CI_TAG
tags:
- private_ci
- cuda
- gpu

# cuda 10.2 and friends
build/cuda102/gcc/all/debug/shared:
<<: *default_build_with_test
image: localhost:5000/gko-cuda102-gnu8-llvm8-intel2019
variables:
<<: *default_variables
BUILD_OMP: "ON"
Expand All @@ -336,9 +399,9 @@ build/cuda101/gcc/all/debug/shared:
- cuda
- gpu

build/cuda101/clang/all/release/static:
build/cuda102/clang/all/release/static:
<<: *default_build_with_test
image: localhost:5000/gko-cuda101-gnu8-llvm7-intel2019
image: localhost:5000/gko-cuda102-gnu8-llvm8-intel2019
variables:
<<: *default_variables
C_COMPILER: "clang"
Expand All @@ -357,9 +420,9 @@ build/cuda101/clang/all/release/static:
- cuda
- gpu

build/cuda101/intel/cuda/debug/static:
build/cuda102/intel/cuda/debug/static:
<<: *default_build_with_test
image: localhost:5000/gko-cuda101-gnu8-llvm7-intel2019
image: localhost:5000/gko-cuda102-gnu8-llvm8-intel2019
variables:
<<: *default_variables
C_COMPILER: "icc"
Expand All @@ -377,17 +440,15 @@ build/cuda101/intel/cuda/debug/static:
- cuda
- gpu

# clang-cuda with cuda 10.1 and friends
build/clang-cuda101/gcc/all/release/shared:
# cuda 11.0 and friends
build/cuda110/gcc/cuda/debug/shared:
<<: *default_build_with_test
image: localhost:5000/gko-cuda101-gnu8-llvm10-intel2019
image: localhost:5000/gko-cuda110-gnu9-llvm9-intel2020
variables:
<<: *default_variables
CUDA_COMPILER: "clang++"
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_HIP: "ON"
BUILD_TYPE: "Release"
BUILD_TYPE: "Debug"
CUDA_ARCH: 35
only:
variables:
Expand All @@ -397,14 +458,33 @@ build/clang-cuda101/gcc/all/release/shared:
- cuda
- gpu

build/clang-cuda101/clang/cuda/debug/static:
build/cuda110/clang/cuda/release/static:
<<: *default_build_with_test
image: localhost:5000/gko-cuda101-gnu8-llvm10-intel2019
image: localhost:5000/gko-cuda110-gnu9-llvm9-intel2020
variables:
<<: *default_variables
C_COMPILER: "clang"
CXX_COMPILER: "clang++"
CUDA_COMPILER: "clang++"
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_TYPE: "Release"
BUILD_SHARED_LIBS: "OFF"
CUDA_ARCH: 35
only:
variables:
- $RUN_CI_TAG
tags:
- private_ci
- cuda
- gpu

build/cuda110/intel/cuda/debug/static:
<<: *default_build_with_test
image: localhost:5000/gko-cuda110-gnu9-llvm9-intel2020
variables:
<<: *default_variables
C_COMPILER: "icc"
CXX_COMPILER: "icpc"
BUILD_OMP: "ON"
BUILD_CUDA: "ON"
BUILD_TYPE: "Debug"
Expand Down Expand Up @@ -839,6 +919,25 @@ undefinedsanitizer:
- cuda
- gpu

cudamemcheck:
stage: QoS_tools
image: localhost:5000/gko-cuda101-gnu8-llvm10-intel2019
before_script: *default_before_script
script:
- ctest -V -S cmake/CTestScript.cmake -DCTEST_BUILD_CONFIGURATION=RelWithDebInfo
-DCTEST_MEMORYCHECK_TYPE=CudaMemcheck
dependencies: []
only:
refs:
- master
- develop
- tags
variables:
- $RUN_CI_TAG
tags:
- private_ci
- cuda
- gpu

# Benchmark build
.benchmark_before_script_template: &default_benchmark_before_script
Expand Down
Loading

0 comments on commit 4678668

Please sign in to comment.