Skip to content

Commit

Permalink
Minor release v1.1.1
Browse files Browse the repository at this point in the history
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
+ Fix the `test_install` step with `HIP` ([#409](#409)),
+ 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))
  • Loading branch information
tcojean authored Dec 3, 2019
2 parents af3af30 + 5315e23 commit f8a5597
Show file tree
Hide file tree
Showing 25 changed files with 176 additions and 67 deletions.
2 changes: 2 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ stages:
- |
(( $(ctest -N | tail -1 | sed 's/Total Tests: //') != 0 )) || exit 1
- ctest -V
- make install
- make test_install
dependencies: []
except:
- schedules
Expand Down
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,23 @@ commits. For a comprehensive list, use the following command:
git log --first-parent
```

## Version 1.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](https://github.com/ginkgo-project/ginkgo/pull/406)),
+ Fix some documentation issues ([#406](https://github.com/ginkgo-project/ginkgo/pull/406)),
+ Fix multiple code issues reported by sonarqube ([#406](https://github.com/ginkgo-project/ginkgo/pull/406)),
+ Update the git-cmake-format repository ([#399](https://github.com/ginkgo-project/ginkgo/pull/399)),
+ Improve the global update header script ([#390](https://github.com/ginkgo-project/ginkgo/pull/390)),
+ Fix broken bounds checks ([#388](https://github.com/ginkgo-project/ginkgo/pull/388)),
+ Fix CSR strategies and improve performance ([#379](https://github.com/ginkgo-project/ginkgo/pull/379)),
+ Fix a small typo in the stencil examples ([#381](https://github.com/ginkgo-project/ginkgo/pull/381)),
+ Fix ELL error on small matrices ([#375](https://github.com/ginkgo-project/ginkgo/pull/375)),
+ Fix SellP read function ([#374](https://github.com/ginkgo-project/ginkgo/pull/374)),
+ Add factorization support in `create_new_algorithm.sh` ([#371](https://github.com/ginkgo-project/ginkgo/pull/371))

## Version 1.1.0

The Ginkgo team is proud to announce the new minor release of Ginkgo version
Expand Down
6 changes: 4 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.9)

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

Expand Down Expand Up @@ -102,7 +102,7 @@ if (GINKGO_WITH_IWYU)
find_program(GINKGO_IWYU_PATH iwyu)
endif()

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/")

# Find important header files, store the definitions in include/ginkgo/config.h.in
# For details, see https://gitlab.kitware.com/cmake/community/wikis/doc/tutorials/How-To-Write-Platform-Checks
Expand Down Expand Up @@ -166,6 +166,7 @@ endif()
# Load CMake helpers
include(cmake/build_helpers.cmake)
include(cmake/build_type_helpers.cmake)
include(cmake/hip_helpers.cmake)
include(cmake/install_helpers.cmake)

# Try to find the third party packages before using our subdirectories
Expand Down Expand Up @@ -239,6 +240,7 @@ add_custom_target(test_install
COMMAND ${CMAKE_COMMAND} -G${CMAKE_GENERATOR} -H${Ginkgo_SOURCE_DIR}/test_install
-B${Ginkgo_BINARY_DIR}/test_install
-DCMAKE_PREFIX_PATH=${CMAKE_INSTALL_PREFIX}/${GINKGO_INSTALL_CONFIG_DIR}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
COMMAND ${CMAKE_COMMAND} --build ${Ginkgo_BINARY_DIR}/test_install
COMMAND ${Ginkgo_BINARY_DIR}/test_install/test_install
COMMENT "Running a test on the installed binaries. This requires running `(sudo) make install` first.")
Expand Down
21 changes: 16 additions & 5 deletions cmake/GinkgoConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ set(GINKGO_HIP_NVCC_COMPILER_FLAGS @GINKGO_HIP_NVCC_COMPILER_FLAGS@)
set(GINKGO_HIP_PLATFORM @GINKGO_HIP_PLATFORM@)
set(GINKGO_HIP_AMDGPU @GINKGO_HIP_AMDGPU@)

set(GINKGO_HAVE_PAPI_SDE @GINKGO_HAVE_PAPI_SDE@)

# Ginkgo external package variables
set(GINKGO_USE_EXTERNAL_CAS "@GINKGO_USE_EXTERNAL_CAS@")
set(GINKGO_USE_EXTERNAL_GTEST "@GINKGO_USE_EXTERNAL_GTEST@")
Expand All @@ -87,10 +89,17 @@ set(TPL_RAPIDJSON_INCLUDE_DIRS "@TPL_RAPIDJSON_INCLUDE_DIRS@")
# Ginkgo installation configuration
set(GINKGO_CONFIG_FILE_PATH "${CMAKE_CURRENT_LIST_DIR}")
string(REPLACE "@GINKGO_INSTALL_CONFIG_DIR@" "" GINKGO_INSTALL_PREFIX "${GINKGO_CONFIG_FILE_PATH}")
set(GINKGO_INSTALL_INCLUDE_DIR "@GINKGO_INSTALL_INCLUDE_DIR@")
set(GINKGO_INSTALL_LIBRARY_DIR "@GINKGO_INSTALL_LIBRARY_DIR@")
set(GINKGO_INSTALL_PKGCONFIG_DIR "@GINKGO_INSTALL_PKGCONFIG_DIR@")
set(GINKGO_INSTALL_CONFIG_DIR "@GINKGO_INSTALL_CONFIG_DIR@")
set(GINKGO_INSTALL_INCLUDE_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_INCLUDE_DIR@")
set(GINKGO_INSTALL_LIBRARY_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_LIBRARY_DIR@")
set(GINKGO_INSTALL_PKGCONFIG_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_PKGCONFIG_DIR@")
set(GINKGO_INSTALL_CONFIG_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_CONFIG_DIR@")
set(GINKGO_INSTALL_MODULE_DIR "${GINKGO_INSTALL_PREFIX}/@GINKGO_INSTALL_MODULE_DIR@")

# Forward Ginkgo's MODULE PATH and the PREFIX PATH for HIP and more
set(CMAKE_MODULE_PATH "@CMAKE_MODULE_PATH@")
set(CMAKE_MODULE_PATH "${GINKGO_INSTALL_MODULE_DIR}" ${CMAKE_MODULE_PATH})
set(CMAKE_PREFIX_PATH "@CMAKE_PREFIX_PATH@")


set(GINKGO_INTERFACE_LINK_LIBRARIES "@GINKGO_INTERFACE_LINK_LIBRARIES@")
set(GINKGO_INTERFACE_LINK_FLAGS "@GINKGO_INTERFACE_LINK_FLAGS@")
Expand Down Expand Up @@ -118,8 +127,10 @@ set(GINKGO_OPENMP_LIBRARIES @OpenMP_CXX_LIBRARIES@)

set(GINKGO_OPENMP_FLAGS "@OpenMP_CXX_FLAGS@")

# Provide useful HIP helper functions
include(${CMAKE_CURRENT_LIST_DIR}/hip_helpers.cmake)

# NOTE: we do not export benchmarks, examples, tests or devel tools
# so `third_party` libraries are currently unneeded.


include(${CMAKE_CURRENT_LIST_DIR}/GinkgoTargets.cmake)
47 changes: 24 additions & 23 deletions cmake/Modules/FindPAPI.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -68,30 +68,31 @@ if(PAPI_INCLUDE_DIR)

if (PAPI_LIBRARY)
# find the components
foreach(component IN LISTS PAPI_FIND_COMPONENTS)
file(WRITE "${CMAKE_BINARY_DIR}/papi_${component}_detect.c"
"
#include <papi.h>
int main() {
int retval;
retval = PAPI_library_init(PAPI_VER_CURRENT);
if (retval != PAPI_VER_CURRENT && retval > 0)
return -1;
if (PAPI_get_component_index(\"${component}\") < 0)
return 0;
return 1;
}
")
try_run(PAPI_${component}_FOUND
gko_result_unused
"${CMAKE_BINARY_DIR}"
"${CMAKE_BINARY_DIR}/papi_${component}_detect.c"
LINK_LIBRARIES ${PAPI_LIBRARY}
)
enable_language(C)
foreach(component IN LISTS PAPI_FIND_COMPONENTS)
file(WRITE "${CMAKE_BINARY_DIR}/papi_${component}_detect.c"
"
#include <papi.h>
int main() {
int retval;
retval = PAPI_library_init(PAPI_VER_CURRENT);
if (retval != PAPI_VER_CURRENT && retval > 0)
return -1;
if (PAPI_get_component_index(\"${component}\") < 0)
return 0;
return 1;
}"
)
try_run(PAPI_${component}_FOUND
gko_result_unused
"${CMAKE_BINARY_DIR}"
"${CMAKE_BINARY_DIR}/papi_${component}_detect.c"
LINK_LIBRARIES ${PAPI_LIBRARY}
)

if (NOT PAPI_${component}_FOUND EQUAL 1)
unset(PAPI_${component}_FOUND)
endif()
if (NOT PAPI_${component}_FOUND EQUAL 1)
unset(PAPI_${component}_FOUND)
endif()
endforeach()
endif()
endif()
Expand Down
12 changes: 0 additions & 12 deletions cmake/build_helpers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -101,15 +101,3 @@ endmacro()
macro(ginkgo_switch_to_windows_dynamic lang)
ginkgo_switch_windows_link(${lang} "MT" "MD")
endmacro()

macro(ginkgo_hip_ban_link_hcflag target)
get_target_property(GINKGO_TARGET_ILL ${target} INTERFACE_LINK_LIBRARIES)
string(REPLACE "-hc " "" GINKGO_TARGET_NEW_ILL "${GINKGO_TARGET_ILL}")
set_target_properties(${target} PROPERTIES INTERFACE_LINK_LIBRARIES "${GINKGO_TARGET_NEW_ILL}")
endmacro()

macro(ginkgo_hip_ban_compile_hcflag target)
get_target_property(GINKGO_TARGET_ILL ${target} INTERFACE_COMPILE_OPTIONS)
string(REPLACE "-hc" "" GINKGO_TARGET_NEW_ILL "${GINKGO_TARGET_ILL}")
set_target_properties(${target} PROPERTIES INTERFACE_COMPILE_OPTIONS "${GINKGO_TARGET_NEW_ILL}")
endmacro()
11 changes: 11 additions & 0 deletions cmake/hip_helpers.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
macro(ginkgo_hip_ban_link_hcflag target)
get_target_property(GINKGO_TARGET_ILL ${target} INTERFACE_LINK_LIBRARIES)
string(REPLACE "-hc " "" GINKGO_TARGET_NEW_ILL "${GINKGO_TARGET_ILL}")
set_target_properties(${target} PROPERTIES INTERFACE_LINK_LIBRARIES "${GINKGO_TARGET_NEW_ILL}")
endmacro()

macro(ginkgo_hip_ban_compile_hcflag target)
get_target_property(GINKGO_TARGET_ILL ${target} INTERFACE_COMPILE_OPTIONS)
string(REPLACE "-hc" "" GINKGO_TARGET_NEW_ILL "${GINKGO_TARGET_ILL}")
set_target_properties(${target} PROPERTIES INTERFACE_COMPILE_OPTIONS "${GINKGO_TARGET_NEW_ILL}")
endmacro()
5 changes: 5 additions & 0 deletions cmake/install_helpers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ set(GINKGO_INSTALL_INCLUDE_DIR "include")
set(GINKGO_INSTALL_LIBRARY_DIR "lib")
set(GINKGO_INSTALL_PKGCONFIG_DIR "lib/pkgconfig")
set(GINKGO_INSTALL_CONFIG_DIR "lib/cmake/Ginkgo")
set(GINKGO_INSTALL_MODULE_DIR "lib/cmake/Ginkgo/Modules")

function(ginkgo_install_library name subdir)
# install .so and .a files
Expand Down Expand Up @@ -33,6 +34,9 @@ function(ginkgo_install)
install(FILES "${Ginkgo_SOURCE_DIR}/third_party/papi_sde/papi_sde_interface.h"
DESTINATION "${GINKGO_INSTALL_INCLUDE_DIR}/third_party/papi_sde"
)
install(FILES "${Ginkgo_SOURCE_DIR}/cmake/Modules/FindPAPI.cmake"
DESTINATION "${GINKGO_INSTALL_MODULE_DIR}/"
)
endif()

# export targets
Expand All @@ -56,6 +60,7 @@ function(ginkgo_install)
"${Ginkgo_BINARY_DIR}/GinkgoConfig.cmake"
"${Ginkgo_BINARY_DIR}/GinkgoConfigVersion.cmake"
"${Ginkgo_BINARY_DIR}/GinkgoTargets.cmake"
"${Ginkgo_SOURCE_DIR}/cmake/hip_helpers.cmake"
DESTINATION "${GINKGO_INSTALL_CONFIG_DIR}"
)

Expand Down
6 changes: 3 additions & 3 deletions core/device_hooks/cuda_hooks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ namespace gko {

version version_info::get_cuda_version() noexcept
{
// We just return 1.1.0 with a special "not compiled" tag in placeholder
// modules.
return {1, 1, 0, "not compiled"};
// We just return the version with a special "not compiled" tag in
// placeholder modules.
return {GKO_VERSION_STR, "not compiled"};
}


Expand Down
6 changes: 3 additions & 3 deletions core/device_hooks/omp_hooks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ namespace gko {

version version_info::get_omp_version() noexcept
{
// We just return 1.1.0 with a special "not compiled" tag in placeholder
// modules.
return {1, 1, 0, "not compiled"};
// We just return the version with a special "not compiled" tag in
// placeholder modules.
return {GKO_VERSION_STR, "not compiled"};
}


Expand Down
6 changes: 3 additions & 3 deletions core/device_hooks/reference_hooks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ namespace gko {

version version_info::get_reference_version() noexcept
{
// We just return 1.1.0 with a special "not compiled" tag in placeholder
// modules.
return {1, 1, 0, "not compiled"};
// We just return the version with a special "not compiled" tag in
// placeholder modules.
return {GKO_VERSION_STR, "not compiled"};
}


Expand Down
2 changes: 1 addition & 1 deletion core/devices/cuda/executor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ std::shared_ptr<const Executor> CudaExecutor::get_master() const noexcept
}


int CudaExecutor::num_execs[max_devices];
unsigned CudaExecutor::num_execs[max_devices];


std::mutex CudaExecutor::mutex[max_devices];
Expand Down
2 changes: 1 addition & 1 deletion doc/DoxygenLayout.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="user" visible="yes" title="Tutorial" url="https://github.com/ginkgo-project/ginkgo/wiki/Tutorial:-Building-a-2D-Poisson-Solver" />
<tab type="user" visible="yes" title="Tutorial" url="https://github.com/ginkgo-project/ginkgo/wiki/Tutorial:-Building-a-Poisson-Solver" />
<tab type="user" visible="yes" title="Examples" url="@ref Examples" />
<tab type="user" visible="yes" title="Using Ginkgo" url="@ref install_ginkgo">
<tab type="user" visible="yes" title="Installing Ginkgo" url="@ref install_ginkgo" />
Expand Down
40 changes: 40 additions & 0 deletions doc/headers/jacobi.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*******************************<GINKGO LICENSE>******************************
Copyright (c) 2017-2019, the Ginkgo authors
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
******************************<GINKGO LICENSE>*******************************/

/**
* @defgroup jacobi Jacobi Preconditioner
*
* @brief A module dedicated to the implementation and usage of the
* Jacobi Preconditioner in Ginkgo.
*
* @ingroup precond
*/
7 changes: 4 additions & 3 deletions hip/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,14 @@ endif()


## Setup all CMAKE variables to find HIP and its dependencies
set(CMAKE_MODULE_PATH "${HIP_PATH}/cmake" ${CMAKE_MODULE_PATH})
list(APPEND CMAKE_MODULE_PATH "${HIP_PATH}/cmake")
list(APPEND CMAKE_PREFIX_PATH
"${HIPBLAS_PATH}/lib/cmake"
"${HIPSPARSE_PATH}/lib/cmake"
)
# Set CMAKE_MODULE_PATH in PARENT_SCOPE for benchmark
# Set CMAKE_MODULE_PATH and CMAKE_PREFIX_PATH as PARENT_SCOPE to easily find HIP again
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" PARENT_SCOPE)
set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH}" PARENT_SCOPE)

find_package(HIP REQUIRED)
find_package(hipblas REQUIRED)
Expand Down Expand Up @@ -150,7 +151,7 @@ endif()
if(GINKGO_HIP_PLATFORM MATCHES "hcc")
# Fix the exception thrown bug with `hcc` backend and shared libraries
set_target_properties(ginkgo_hip PROPERTIES LINKER_LANGUAGE HIP)

# Ban `-hc` flag as INTERFACE_LINK_LIBRARIES since that is propagated when building
# a static library, and it's definitely not a known option to any compiler.
ginkgo_hip_ban_link_hcflag(hcc::hccrt)
Expand Down
1 change: 1 addition & 0 deletions include/ginkgo/config.hpp.in
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define GKO_VERSION_MINOR @Ginkgo_VERSION_MINOR@
#define GKO_VERSION_PATCH @Ginkgo_VERSION_PATCH@
#define GKO_VERSION_TAG "@Ginkgo_VERSION_TAG@"
#define GKO_VERSION_STR @Ginkgo_VERSION_MAJOR@, @Ginkgo_VERSION_MINOR@, @Ginkgo_VERSION_PATCH@
// clang-format on

/*
Expand Down
10 changes: 5 additions & 5 deletions include/ginkgo/core/base/executor.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -940,7 +940,7 @@ class CudaExecutor : public detail::ExecutorBase<CudaExecutor>,
minor_(0),
warp_size_(0)
{
assert(device_id < max_devices);
assert(device_id < max_devices && device_id >= 0);
this->set_gpu_property();
this->init_handles();
increase_num_execs(device_id);
Expand All @@ -952,19 +952,19 @@ class CudaExecutor : public detail::ExecutorBase<CudaExecutor>,

GKO_ENABLE_FOR_ALL_EXECUTORS(GKO_OVERRIDE_RAW_COPY_TO);

static void increase_num_execs(int device_id)
static void increase_num_execs(unsigned device_id)
{
std::lock_guard<std::mutex> guard(mutex[device_id]);
num_execs[device_id]++;
}

static void decrease_num_execs(int device_id)
static void decrease_num_execs(unsigned device_id)
{
std::lock_guard<std::mutex> guard(mutex[device_id]);
num_execs[device_id]--;
}

static int get_num_execs(int device_id)
static unsigned get_num_execs(unsigned device_id)
{
std::lock_guard<std::mutex> guard(mutex[device_id]);
return num_execs[device_id];
Expand All @@ -985,7 +985,7 @@ class CudaExecutor : public detail::ExecutorBase<CudaExecutor>,
handle_manager<cusparseContext> cusparse_handle_;

static constexpr int max_devices = 64;
static int num_execs[max_devices];
static unsigned num_execs[max_devices];
static std::mutex mutex[max_devices];
};

Expand Down
Loading

0 comments on commit f8a5597

Please sign in to comment.