Skip to content

Commit 08d2c52

Browse files
authored
Minor Release v1.1.1
This version of Ginkgo provides a few fixes in Ginkgo's core routines. The supported systems and requirements are unchanged from version 1.1.0. ### Fixes + Improve Ginkgo's installation and fix the `test_install` step ([#406](#406)), + Fix some documentation issues ([#406](#406)), + Fix multiple code issues reported by sonarqube ([#406](#406)), + Update the git-cmake-format repository ([#399](#399)), + Improve the global update header script ([#390](#390)), + Fix broken bounds checks ([#388](#388)), + Fix CSR strategies and improve performance ([#379](#379)), + Fix a small typo in the stencil examples ([#381](#381)), + Fix ELL error on small matrices ([#375](#375)), + Fix SellP read function ([#374](#374)), + Add factorization support in `create_new_algorithm.sh` ([#371](#371)).
2 parents b9bec82 + c8ec186 commit 08d2c52

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+688
-250
lines changed

.gitlab-ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ stages:
5656
- |
5757
(( $(ctest -N | tail -1 | sed 's/Total Tests: //') != 0 )) || exit 1
5858
- ctest -V
59+
- make install
60+
- make test_install
5961
dependencies: []
6062
except:
6163
- schedules

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,23 @@ commits. For a comprehensive list, use the following command:
66
git log --first-parent
77
```
88

9+
## Version 1.1.1
10+
This version of Ginkgo provides a few fixes in Ginkgo's core routines. The
11+
supported systems and requirements are unchanged from version 1.1.0.
12+
13+
### Fixes
14+
+ Improve Ginkgo's installation and fix the `test_install` step ([#406](https://github.com/ginkgo-project/ginkgo/pull/406)),
15+
+ Fix some documentation issues ([#406](https://github.com/ginkgo-project/ginkgo/pull/406)),
16+
+ Fix multiple code issues reported by sonarqube ([#406](https://github.com/ginkgo-project/ginkgo/pull/406)),
17+
+ Update the git-cmake-format repository ([#399](https://github.com/ginkgo-project/ginkgo/pull/399)),
18+
+ Improve the global update header script ([#390](https://github.com/ginkgo-project/ginkgo/pull/390)),
19+
+ Fix broken bounds checks ([#388](https://github.com/ginkgo-project/ginkgo/pull/388)),
20+
+ Fix CSR strategies and improve performance ([#379](https://github.com/ginkgo-project/ginkgo/pull/379)),
21+
+ Fix a small typo in the stencil examples ([#381](https://github.com/ginkgo-project/ginkgo/pull/381)),
22+
+ Fix ELL error on small matrices ([#375](https://github.com/ginkgo-project/ginkgo/pull/375)),
23+
+ Fix SellP read function ([#374](https://github.com/ginkgo-project/ginkgo/pull/374)),
24+
+ Add factorization support in `create_new_algorithm.sh` ([#371](https://github.com/ginkgo-project/ginkgo/pull/371))
25+
926
## Version 1.1.0
1027

1128
The Ginkgo team is proud to announce the new minor release of Ginkgo version

CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.9)
22

3-
project(Ginkgo LANGUAGES C CXX VERSION 1.1.0 DESCRIPTION "A numerical linear algebra library targeting many-core architectures")
3+
project(Ginkgo LANGUAGES C CXX VERSION 1.1.1 DESCRIPTION "A numerical linear algebra library targeting many-core architectures")
44
set(Ginkgo_VERSION_TAG "master")
55
set(PROJECT_VERSION_TAG ${Ginkgo_VERSION_TAG})
66

@@ -160,8 +160,9 @@ if(GINKGO_DEVEL_TOOLS)
160160
endif()
161161

162162
# Generate the global `ginkgo/ginkgo.hpp` header with every call of make
163+
# when bash is present and the developer tools are enabled
163164
find_program(BASH bash)
164-
if(NOT "${BASH}" STREQUAL "BASH-NOTFOUND")
165+
if(NOT "${BASH}" STREQUAL "BASH-NOTFOUND" AND GINKGO_DEVEL_TOOLS)
165166
add_custom_target(generate_ginkgo_header ALL
166167
COMMAND ${Ginkgo_SOURCE_DIR}/dev_tools/scripts/update_ginkgo_header.sh
167168
WORKING_DIRECTORY ${Ginkgo_SOURCE_DIR})
@@ -187,6 +188,7 @@ add_custom_target(test_install
187188
COMMAND ${CMAKE_COMMAND} -G${CMAKE_GENERATOR} -H${Ginkgo_SOURCE_DIR}/test_install
188189
-B${Ginkgo_BINARY_DIR}/test_install
189190
-DCMAKE_PREFIX_PATH=${CMAKE_INSTALL_PREFIX}/${GINKGO_INSTALL_CONFIG_DIR}
191+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
190192
COMMAND ${CMAKE_COMMAND} --build ${Ginkgo_BINARY_DIR}/test_install
191193
COMMAND ${Ginkgo_BINARY_DIR}/test_install/test_install
192194
COMMENT "Running a test on the installed binaries. This requires running `(sudo) make install` first.")

cmake/GinkgoConfig.cmake.in

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ set(GINKGO_JACOBI_FULL_OPTIMIZATIONS @GINKGO_JACOBI_FULL_OPTIMIZATIONS@)
6161
set(GINKGO_CUDA_ARCHITECTURES @GINKGO_CUDA_ARCHITECTURES@)
6262
set(GINKGO_CUDA_HOST_COMPILER @CMAKE_CUDA_HOST_COMPILER@)
6363

64+
set(GINKGO_HAVE_PAPI_SDE @GINKGO_HAVE_PAPI_SDE@)
65+
6466
# Ginkgo external package variables
6567
set(GINKGO_USE_EXTERNAL_CAS "@GINKGO_USE_EXTERNAL_CAS@")
6668
set(GINKGO_USE_EXTERNAL_GTEST "@GINKGO_USE_EXTERNAL_GTEST@")
@@ -80,10 +82,13 @@ set(TPL_RAPIDJSON_INCLUDE_DIRS "@TPL_RAPIDJSON_INCLUDE_DIRS@")
8082
# Ginkgo installation configuration
8183
set(GINKGO_CONFIG_FILE_PATH "${CMAKE_CURRENT_LIST_DIR}")
8284
string(REPLACE "@GINKGO_INSTALL_CONFIG_DIR@" "" GINKGO_INSTALL_PREFIX "${GINKGO_CONFIG_FILE_PATH}")
83-
set(GINKGO_INSTALL_INCLUDE_DIR "@GINKGO_INSTALL_INCLUDE_DIR@")
84-
set(GINKGO_INSTALL_LIBRARY_DIR "@GINKGO_INSTALL_LIBRARY_DIR@")
85-
set(GINKGO_INSTALL_PKGCONFIG_DIR "@GINKGO_INSTALL_PKGCONFIG_DIR@")
86-
set(GINKGO_INSTALL_CONFIG_DIR "@GINKGO_INSTALL_CONFIG_DIR@")
85+
set(GINKGO_INSTALL_INCLUDE_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_INCLUDE_DIR@")
86+
set(GINKGO_INSTALL_LIBRARY_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_LIBRARY_DIR@")
87+
set(GINKGO_INSTALL_PKGCONFIG_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_PKGCONFIG_DIR@")
88+
set(GINKGO_INSTALL_CONFIG_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_CONFIG_DIR@")
89+
set(GINKGO_INSTALL_MODULE_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_MODULE_DIR@")
90+
set(CMAKE_MODULE_PATH "${GINKGO_INSTALL_MODULE_DIR}")
91+
8792

8893
set(GINKGO_INTERFACE_LINK_LIBRARIES "@GINKGO_INTERFACE_LINK_LIBRARIES@")
8994
set(GINKGO_INTERFACE_LINK_FLAGS "@GINKGO_INTERFACE_LINK_FLAGS@")
@@ -111,6 +116,8 @@ set(GINKGO_OPENMP_LIBRARIES @OpenMP_CXX_LIBRARIES@)
111116

112117
set(GINKGO_OPENMP_FLAGS "@OpenMP_CXX_FLAGS@")
113118

119+
# Modulepath configuration
120+
114121
# NOTE: we do not export benchmarks, examples, tests or devel tools
115122
# so `third_party` libraries are currently unneeded.
116123

cmake/Modules/FindPAPI.cmake

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -68,30 +68,31 @@ if(PAPI_INCLUDE_DIR)
6868

6969
if (PAPI_LIBRARY)
7070
# find the components
71-
foreach(component IN LISTS PAPI_FIND_COMPONENTS)
72-
file(WRITE "${CMAKE_BINARY_DIR}/papi_${component}_detect.c"
73-
"
74-
#include <papi.h>
75-
int main() {
76-
int retval;
77-
retval = PAPI_library_init(PAPI_VER_CURRENT);
78-
if (retval != PAPI_VER_CURRENT && retval > 0)
79-
return -1;
80-
if (PAPI_get_component_index(\"${component}\") < 0)
81-
return 0;
82-
return 1;
83-
}
84-
")
85-
try_run(PAPI_${component}_FOUND
86-
gko_result_unused
87-
"${CMAKE_BINARY_DIR}"
88-
"${CMAKE_BINARY_DIR}/papi_${component}_detect.c"
89-
LINK_LIBRARIES ${PAPI_LIBRARY}
90-
)
71+
enable_language(C)
72+
foreach(component IN LISTS PAPI_FIND_COMPONENTS)
73+
file(WRITE "${CMAKE_BINARY_DIR}/papi_${component}_detect.c"
74+
"
75+
#include <papi.h>
76+
int main() {
77+
int retval;
78+
retval = PAPI_library_init(PAPI_VER_CURRENT);
79+
if (retval != PAPI_VER_CURRENT && retval > 0)
80+
return -1;
81+
if (PAPI_get_component_index(\"${component}\") < 0)
82+
return 0;
83+
return 1;
84+
}"
85+
)
86+
try_run(PAPI_${component}_FOUND
87+
gko_result_unused
88+
"${CMAKE_BINARY_DIR}"
89+
"${CMAKE_BINARY_DIR}/papi_${component}_detect.c"
90+
LINK_LIBRARIES ${PAPI_LIBRARY}
91+
)
9192

92-
if (NOT PAPI_${component}_FOUND EQUAL 1)
93-
unset(PAPI_${component}_FOUND)
94-
endif()
93+
if (NOT PAPI_${component}_FOUND EQUAL 1)
94+
unset(PAPI_${component}_FOUND)
95+
endif()
9596
endforeach()
9697
endif()
9798
endif()

cmake/build_helpers.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,4 @@ endmacro()
9494

9595
macro(ginkgo_switch_to_windows_dynamic lang)
9696
ginkgo_switch_windows_link(${lang} "MT" "MD")
97-
endmacro()
97+
endmacro()

cmake/install_helpers.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ set(GINKGO_INSTALL_INCLUDE_DIR "include")
66
set(GINKGO_INSTALL_LIBRARY_DIR "lib")
77
set(GINKGO_INSTALL_PKGCONFIG_DIR "lib/pkgconfig")
88
set(GINKGO_INSTALL_CONFIG_DIR "lib/cmake/Ginkgo")
9+
set(GINKGO_INSTALL_MODULE_DIR "lib/cmake/Ginkgo/Modules")
910

1011
function(ginkgo_install_library name subdir)
1112
# install .so and .a files
@@ -33,6 +34,9 @@ function(ginkgo_install)
3334
install(FILES "${Ginkgo_SOURCE_DIR}/third_party/papi_sde/papi_sde_interface.h"
3435
DESTINATION "${GINKGO_INSTALL_INCLUDE_DIR}/third_party/papi_sde"
3536
)
37+
install(FILES "${Ginkgo_SOURCE_DIR}/cmake/Modules/FindPAPI.cmake"
38+
DESTINATION "${GINKGO_INSTALL_MODULE_DIR}/"
39+
)
3640
endif()
3741

3842
# export targets

core/device_hooks/cuda_hooks.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ namespace gko {
4343

4444
version version_info::get_cuda_version() noexcept
4545
{
46-
// We just return 1.1.0 with a special "not compiled" tag in placeholder
47-
// modules.
48-
return {1, 1, 0, "not compiled"};
46+
// We just return the version with a special "not compiled" tag in
47+
// placeholder modules.
48+
return {GKO_VERSION_STR, "not compiled"};
4949
}
5050

5151

core/device_hooks/omp_hooks.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ namespace gko {
3838

3939
version version_info::get_omp_version() noexcept
4040
{
41-
// We just return 1.1.0 with a special "not compiled" tag in placeholder
42-
// modules.
43-
return {1, 1, 0, "not compiled"};
41+
// We just return the version with a special "not compiled" tag in
42+
// placeholder modules.
43+
return {GKO_VERSION_STR, "not compiled"};
4444
}
4545

4646

core/device_hooks/reference_hooks.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ namespace gko {
3939

4040
version version_info::get_reference_version() noexcept
4141
{
42-
// We just return 1.1.0 with a special "not compiled" tag in placeholder
43-
// modules.
44-
return {1, 1, 0, "not compiled"};
42+
// We just return the version with a special "not compiled" tag in
43+
// placeholder modules.
44+
return {GKO_VERSION_STR, "not compiled"};
4545
}
4646

4747

0 commit comments

Comments
 (0)