Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
2988db4
blaspp seems to always define empty BLA_VENDOR in CACHE so only look …
evaleev May 2, 2022
0afdbfe
update unit tests to replace DistArray::range() with DistArray::tiles…
evaleev May 2, 2022
760bfa3
ta_test: UM expr tests need looser FP64 comparison tolerance
evaleev May 6, 2022
4be43ff
introduced check_serial{,-tiledarray} targets
evaleev May 6, 2022
862c014
gitlab ci: run serial unit tests with CUDA + qualify all targets with…
evaleev May 6, 2022
e263f99
ccd example avoids using deprecated DistArray::range()
evaleev May 6, 2022
e0dfb45
print nvcc version info and output of nvidia-smi
evaleev May 6, 2022
c172a98
vector<T>::data() may not return null ptr if empty
evaleev May 9, 2022
9c355bd
bump up UT test timeout to accomodate CUDA builds
evaleev May 9, 2022
3c14fa4
added UT um_expressions_suite/scal_add_block
evaleev May 13, 2022
18a68fb
Integrate CUDA-HIP-SYCL version of LibreTT
Jul 5, 2022
3b5efc0
Merge branch 'ValeevGroup:master' into librett
victor-anisimov Jul 5, 2022
e90d0d8
Merge pull request #352 from victor-anisimov/librett
evaleev Jul 13, 2022
ae1f403
ta-librett.h -> librett.h
evaleev Jul 13, 2022
25d456e
minor verbiage fix
evaleev Jul 13, 2022
c94a085
removed all Travis artifacts
evaleev Jul 13, 2022
754a880
bump BTAS tag to pull in https://github.com/ValeevGroup/BTAS/pull/136
evaleev Jul 13, 2022
b534969
Merge branch 'anisimov/feature/cutt-to-librett' into evaleev/fix/cuda…
evaleev Jul 13, 2022
4bc3858
merge master into evaleev/fix/cuda-unit-tests
evaleev Sep 27, 2022
8d9b49a
introduced TA_SCOPED_INITIALIZE and details (scoped finalizer, etc.)
evaleev Sep 30, 2022
2196a11
fixed ta_vector_cuda for asymmetric matrices
evaleev Sep 30, 2022
c536b1b
use single CUDA stream for unit tests for now
evaleev Sep 30, 2022
15f54ae
[ci] attempt to resolve https://gitlab.com/ValeevGroup/tiledarray/-/j…
evaleev Oct 1, 2022
8f2a363
fixed ta_reduce_cuda for asymmetric matrices, resolves #366
evaleev Oct 7, 2022
32fa553
try using valeevgroup/ubuntu:cuda image
evaleev Oct 8, 2022
0c07229
no need to install cuda when using valeevgroup/ubuntu:cuda image
evaleev Oct 9, 2022
1d73c64
[ci] invoke nvidia-smi to dump driver + CUDA info to the log
evaleev Oct 10, 2022
08df869
Revert "[ci] invoke nvidia-smi to dump driver + CUDA info to the log"
evaleev Oct 11, 2022
4e0ce09
Revert "no need to install cuda when using valeevgroup/ubuntu:cuda im…
evaleev Oct 11, 2022
dd12732
Revert "try using valeevgroup/ubuntu:cuda image"
evaleev Oct 11, 2022
7a7bc76
[ci] define RUNNER_TAGS so that only CUDA jobs end up on our local ru…
evaleev Oct 11, 2022
caba336
cleanup
evaleev Oct 13, 2022
77c95ff
hush warnings re use of Eigen's Tensor header when CUDA enabled
evaleev Oct 13, 2022
6bd84aa
[ci] try using Ninja and multiple cores
evaleev Oct 13, 2022
8d50fe5
Merge pull request #354 from ValeevGroup/evaleev/fix/cuda-unit-tests
evaleev Oct 14, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,29 @@ default:

variables:
MAD_NUM_THREADS : 2
TA_TARGETS : "tiledarray examples ta_test check-tiledarray"
TA_TARGETS : "tiledarray examples-tiledarray ta_test check-tiledarray"
# Debug builds with ScaLAPACK=ON need increased TA_UT_CTEST_TIMEOUT
TA_CONFIG : >
CMAKE_BUILD_TYPE=${BUILD_TYPE}
TA_ASSERT_POLICY=TA_ASSERT_THROW
TA_UT_CTEST_TIMEOUT=2000
TA_UT_CTEST_TIMEOUT=3000
${TA_PYTHON}
${ENABLE_CUDA}
${BLA_VENDOR}
${BLA_THREADS}
${ENABLE_SCALAPACK}

before_script:
# NB: below tag parsing is not robust
- echo "CI_RUNNER_TAGS=$CI_RUNNER_TAGS"
- CMAKE_BUILD_PARALLEL_LEVEL=$(echo $CI_RUNNER_TAGS | sed -n 's/CMAKE_BUILD_PARALLEL_LEVEL=\([0-9]\+\).*/\1/p')
# NB: if CMAKE_BUILD_PARALLEL_LEVEL is not set (i.e. using shared runner), use 1 to ensure we have enough memory
# TODO optimize ta_test build memory consumption
- export CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL:=1}
- echo "CMAKE_BUILD_PARALLEL_LEVEL=$CMAKE_BUILD_PARALLEL_LEVEL"

ubuntu:
stage: build
tags: [ docker ]
tags:
- docker
- ${RUNNER_TAGS}
timeout: 3h
image: valeevgroup/${IMAGE}
variables:
Expand Down Expand Up @@ -62,12 +63,15 @@ ubuntu:
BLA_THREADS : [ "IntelMKL_THREAD_LAYER=tbb" ]
# ENABLE_SCALAPACK : [ "ENABLE_SCALAPACK=ON", "ENABLE_SCALAPACK=OFF" ]
TA_PYTHON : [ "TA_PYTHON=OFF" ] # needs to be fixed for MKL
RUNNER_TAGS: [ linux ]
- IMAGE : [ "ubuntu:18.04", "ubuntu:20.04" ]
CXX: [ g++, clang++-9 ]
BUILD_TYPE : [ "Release", "Debug" ]
ENABLE_SCALAPACK : [ "ENABLE_SCALAPACK=ON", "ENABLE_SCALAPACK=OFF" ]
RUNNER_TAGS: [ linux ]
- IMAGE : [ "ubuntu:18.04", "ubuntu:20.04" ]
CXX: [ g++ ]
BUILD_TYPE : [ "Release", "Debug" ]
ENABLE_CUDA : [ "ENABLE_CUDA=ON" ]
TA_TARGETS : [ "tiledarray examples" ]
TA_TARGETS : [ "tiledarray examples-tiledarray check_serial-tiledarray" ]
RUNNER_TAGS: [ cuda ]
111 changes: 0 additions & 111 deletions .travis.yml

This file was deleted.

6 changes: 5 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -374,14 +374,18 @@ add_subdirectory(doc)
##########################
include(CTest)
if (BUILD_TESTING)
set(_ctest_args -V -R "tiledarray/unit")
set(_ctest_args -V -R "tiledarray/unit/run-np.*")
set(_ctest_args_serial -V -R "tiledarray/unit/run-np-1")
if (DEFINED TA_UT_CTEST_TIMEOUT)
list(APPEND _ctest_args --timeout ${TA_UT_CTEST_TIMEOUT})
list(APPEND _ctest_args_serial --timeout ${TA_UT_CTEST_TIMEOUT})
endif(DEFINED TA_UT_CTEST_TIMEOUT)
add_custom_target_subproject(tiledarray check USES_TERMINAL COMMAND ${CMAKE_CTEST_COMMAND} ${_ctest_args})
add_custom_target_subproject(tiledarray check_serial USES_TERMINAL COMMAND ${CMAKE_CTEST_COMMAND} ${_ctest_args_serial})
add_subdirectory(tests)
else()
add_custom_target_subproject(tiledarray check USES_TERMINAL COMMAND echo "WARNING: unit testing disabled. To enable, give -DBUILD_TESTING=ON to cmake")
add_custom_target_subproject(tiledarray check_serial USES_TERMINAL COMMAND echo "WARNING: unit testing disabled. To enable, give -DBUILD_TESTING=ON to cmake")
endif()

##########################
Expand Down
6 changes: 3 additions & 3 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ Compiling BTAS requires the following prerequisites:

Optional prerequisites:
- [CUDA compiler and runtime](https://developer.nvidia.com/cuda-zone) -- for execution on CUDA-enabled accelerators. CUDA 11 or later is required. Support for CUDA also requires the following additional prerequisites, both of which will be built and installed automatically if missing:
- [cuTT](github.com/ValeevGroup/cutt) -- CUDA transpose library; note that our fork of the [original cuTT repo](github.com/ap-hynninen/cutt) is required to provide thread-safety (tag 0e8685bf82910bc7435835f846e88f1b39f47f09).
- [LibreTT](github.com/victor-anisimov/LibreTT) -- free tensor transpose library for CUDA, HIP, and SYCL platforms that is based on the [original cuTT library](github.com/ap-hynninen/cutt) extended to provide thread-safety improvements (via github.com/ValeevGroup/cutt) and extended to non-CUDA platforms by [@victor-anisimov](github.com/victor-anisimov) (tag 68abe31a9ec6fd2fd9ffbcd874daa80457f947da).
- [Umpire](github.com/LLNL/Umpire) -- portable memory manager for heterogeneous platforms (tag f9640e0fa4245691cdd434e4f719ac5f7d455f82).
- [Doxygen](http://www.doxygen.nl/) -- for building documentation (version 1.8.12 or later).
- [ScaLAPACK](http://www.netlib.org/scalapack/) -- a distributed-memory linear algebra package. If detected, the following C++ components will also be sought and downloaded, if missing:
- [scalapackpp](https://github.com/wavefunction91/scalapackpp.git) -- a modern C++ (C++17) wrapper for ScaLAPACK (tag 28433942197aee141cd9e96ed1d00f6ec7b902cb); pulls and builds the following additional prerequisite
- [scalapackpp](https://github.com/wavefunction91/scalapackpp.git) -- a modern C++ (C++17) wrapper for ScaLAPACK (tag 711ef363479a90c88788036f9c6c8adb70736cbf); pulls and builds the following additional prerequisite
- [blacspp](https://github.com/wavefunction91/blacspp.git) -- a modern C++ (C++17) wrapper for BLACS
- Python3 interpreter -- to test (optionally-built) Python bindings
- [Range-V3](https://github.com/ericniebler/range-v3.git) -- a Ranges library that served as the basis for Ranges component of C++20; only used for some unit testing of the functionality anticipated to be supported by future C++ standards.
Expand Down Expand Up @@ -330,7 +330,7 @@ Support for execution on CUDA-enabled hardware is controlled by the following va
* `ENABLE_CUDA` -- Set to `ON` to turn on CUDA support. [Default=OFF].
* `CMAKE_CUDA_HOST_COMPILER` -- Set to the path to the host C++ compiler to be used by CUDA compiler. CUDA compilers used to be notorious for only being able to use specific C++ host compilers, but support for more recent C++ host compilers has improved. The default is determined by the CUDA compiler and the user environment variables (`PATH` etc.).
* `ENABLE_CUDA_ERROR_CHECK` -- Set to `ON` to turn on assertions for successful completion of calls to CUDA runtime and libraries. [Default=OFF].
* `CUTT_INSTALL_DIR` -- the installation prefix of the pre-installed cuTT library. This should not be normally needed; it is strongly recommended to let TiledArray build and install cuTT.
* `LIBRETT_INSTALL_DIR` -- the installation prefix of the pre-installed LibreTT library. This should not be normally needed; it is strongly recommended to let TiledArray build and install LibreTT.
* `UMPIRE_INSTALL_DIR` -- the installation prefix of the pre-installed Umpire library. This should not be normally needed; it is strongly recommended to let TiledArray build and install Umpire.

For the CUDA compiler and toolkit to be discoverable the CUDA compiler (`nvcc`) should be in the `PATH` environment variable. Refer to the [FindCUDAToolkit module](https://cmake.org/cmake/help/latest/module/FindCUDAToolkit.html) for more info.
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
[![Travis Build Status](https://travis-ci.com/ValeevGroup/tiledarray.svg?branch=master)](https://travis-ci.com/ValeevGroup/tiledarray)
[![Gitlab Pipeline Status](https://gitlab.com/ValeevGroup/tiledarray/badges/master/pipeline.svg)](https://gitlab.com/ValeevGroup/tiledarray/-/pipelines?page=1&scope=all&ref=master)
[![codecov](https://codecov.io/gh/ValeevGroup/tiledarray/branch/master/graph/badge.svg)](https://codecov.io/gh/ValeevGroup/tiledarray)

Expand Down
10 changes: 5 additions & 5 deletions bin/admin/dependency-versions-update-hook.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,11 @@ def replace_dep_id(topsrc, file_ext, dep_name, old_id, new_id, search_prefix = '
btas_old_tag = tokens[2]
else:
btas_new_tag = tokens[2]
elif tokens[1].find('CUTT') != -1:
elif tokens[1].find('LIBRETT') != -1:
if tokens[1].find('PREVIOUS') != -1:
cutt_old_tag = tokens[2]
librett_old_tag = tokens[2]
else:
cutt_new_tag = tokens[2]
librett_new_tag = tokens[2]
elif tokens[1].find('UMPIRE') != -1:
if tokens[1].find('PREVIOUS') != -1:
umpire_old_tag = tokens[2]
Expand Down Expand Up @@ -146,8 +146,8 @@ def replace_dep_id(topsrc, file_ext, dep_name, old_id, new_id, search_prefix = '
# BTAS tag in INSTALL.md
any_files_changed |= replace_dep_id(topsrc, 'md', 'BTAS', btas_old_tag, btas_new_tag, 'ValeevGroup/BTAS), tag ', '')

# cuTT tag in INSTALL.md
any_files_changed |= replace_dep_id(topsrc, 'md', 'cuTT', cutt_old_tag, cutt_new_tag, '', '')
# LibreTT tag in INSTALL.md
any_files_changed |= replace_dep_id(topsrc, 'md', 'LibreTT', librett_old_tag, librett_new_tag, '', '')

# Umpire tag in INSTALL.md
any_files_changed |= replace_dep_id(topsrc, 'md', 'Umpire', umpire_old_tag, umpire_new_tag, '', '')
Expand Down
41 changes: 0 additions & 41 deletions bin/build-boost-linux.sh

This file was deleted.

42 changes: 0 additions & 42 deletions bin/build-eigen3-linux.sh

This file was deleted.

Loading