Skip to content

Commit

Permalink
Merge Release 1.9.0
Browse files Browse the repository at this point in the history
The Ginkgo team is proud to announce the new Ginkgo minor release 1.9.0.

This release brings new features such as:
- Support for half precision (IEEE FP16). The type `gko::half` can now be selected in most instances as the value type
  of a matrix, solver, preconditioner, etc. If the selected backend supports FP16 as a native type, the native type is
  used within the kernels, otherwise an overhead might occur. The new behavior is enabled by default, but it can be
  turned off during configuration.
- New implementations of the ILU and IC factorization for CUDA, HIP, OpenMP, and Reference backends. These are
  available in addition to the existing implementations based on the vendor libraries cuSPARSE and hipSPARSE.
- New (S)SOR and Gauss-Seidel preconditioners.
- Simplifyied distributed matrix assembly by exchanging local rows between neighboring processes.

And more!

See [the Changelog](./CHANGELOG.md) for more information.
  • Loading branch information
MarcelKoch authored Dec 9, 2024
2 parents cfa695f + 055344d commit 20cfd68
Show file tree
Hide file tree
Showing 1,574 changed files with 29,733 additions and 26,623 deletions.
25 changes: 24 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,30 @@ ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeIsMainRegex: '([-_](test|unittest))?$'
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^<oneapi/dpl.*' # needs to be on top
Priority: -2
- Regex: '<[^.]+>' # standard library
Priority: 1
- Regex: '(^<(hip/hip_runtime|cuda(_runtime)?)\.h)|common/cuda_hip/base/runtime\.hpp$'
Priority: 2
SortPriority: 2
- Regex: '^<(omp|cu|hip|oneapi|thrust|CL/|cooperative|mpi|nvToolsExt|Kokkos).*'
Priority: 2
SortPriority: 3
- Regex: '^<(nlohmann|gflags|gtest|sde_lib|papi).*'
Priority: 4
- Regex: '<ginkgo/ginkgo.hpp>'
Priority: 6
- Regex: '^<ginkgo/.*'
Priority: 7
- Regex: '^<.*' # other library includes
Priority: 5
- Regex: '^.*'
Priority: 8
IncludeIsMainRegex: '(_(stub|kernels|kernels2|test))?$'
IncludeIsMainSourceRegex: '\.cu$|_kernels\.hpp$|\.dp\.cpp$'
IndentCaseLabels: false
IndentWidth: 4
IndentWrappedFunctionNames: false
Expand Down
2 changes: 0 additions & 2 deletions .github/bot-pr-base.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
source .github/bot-base.sh

EXTENSION_REGEX='\.(cuh?|hpp|hpp\.inc?|cpp)$'
FORMAT_HEADER_REGEX='^(benchmark|core|cuda|hip|include/ginkgo/core|omp|reference|dpcpp|common/unified|test)/'
FORMAT_REGEX='^(common|examples)/'
CLANG_FORMAT=clang-format-14

echo -n "Collecting information on triggering PR"
Expand Down
5 changes: 1 addition & 4 deletions .github/bot-pr-format-base.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@ git config user.name "ginkgo-bot"

# save scripts from develop
cp .clang-format .pre-commit-config.yaml /tmp
pushd dev_tools/scripts || exit 1
cp format_header.sh update_ginkgo_header.sh /tmp
popd || exit 1
cp dev_tools/scripts/update_ginkgo_header.sh /tmp

# checkout current PR head
LOCAL_BRANCH=format-tmp-$HEAD_BRANCH
Expand All @@ -25,7 +23,6 @@ git checkout -b $LOCAL_BRANCH fork/$HEAD_BRANCH
# restore files from develop
cp /tmp/.clang-format .
cp /tmp/.pre-commit-config.yaml .
cp /tmp/format_header.sh dev_tools/scripts/
cp /tmp/update_ginkgo_header.sh dev_tools/scripts/

# make base pre-commit config available
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/intel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,20 +33,20 @@ jobs:
- name: configure
run: |
source /etc/profile
module load intel-oneapi-compilers intel-oneapi-dpl intel-oneapi-mkl intel-oneapi-tbb cmake
module load intel-oneapi-compilers intel-oneapi-dpl intel-oneapi-mkl cmake
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=install_ginkgo -DCMAKE_CXX_FLAGS="-Wpedantic -ffp-model=precise" -DCMAKE_CXX_COMPILER=${{ matrix.config.compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -DGINKGO_MIXED_PRECISION=${{ matrix.config.mixed }} -DGINKGO_BUILD_CUDA=OFF -DGINKGO_BUILD_HIP=OFF -DGINKGO_BUILD_MPI=OFF -DGINKGO_DPCPP_SINGLE_MODE=ON
make -j8
ONEAPI_DEVICE_SELECTOR=level_zero:gpu ctest -j10 --output-on-failure
- name: install
run: |
source /etc/profile
module load intel-oneapi-compilers intel-oneapi-dpl intel-oneapi-mkl intel-oneapi-tbb cmake
module load intel-oneapi-compilers intel-oneapi-dpl intel-oneapi-mkl cmake
cd build
SYCL_DEVICE_FILTER=level_zero:gpu make install
export GINKGO_PATH="$(pwd)/install_ginkgo/lib"
export LIBRARY_PATH=${GINKGO_PATH}:$LIBRARY_PATH
export LD_LIBRARY_PATH=${GINKGO_PATH}:$LD_LIBRARY_PATH
export LIBRARY_PATH=${ICL_INTEL_TBB_ROOT}/lib64:${GINKGO_PATH}:$LIBRARY_PATH
export LD_LIBRARY_PATH=${ICL_INTEL_TBB_ROOT}/lib64:${GINKGO_PATH}:$LD_LIBRARY_PATH
SYCL_DEVICE_FILTER=level_zero:gpu make test_install
65 changes: 0 additions & 65 deletions .github/workflows/windows-mingw.yml

This file was deleted.

61 changes: 0 additions & 61 deletions .github/workflows/windows-msvc-cuda.yml

This file was deleted.

61 changes: 0 additions & 61 deletions .github/workflows/windows-msvc-ref.yml

This file was deleted.

Loading

0 comments on commit 20cfd68

Please sign in to comment.