ValeevGroup / tiledarray

A massively-parallel, block-sparse tensor framework written in C++
GNU General Public License v3.0
254 stars 52 forks source link

Fix `make_array` when target shape is rank-1 #414

Closed wavefunction91 closed 1 year ago

wavefunction91 commented 1 year ago

Current HEAD catches an ambiguity in Tensor::operator[](index) / Tensor::operator[](ordinal) for rank-1 tensors. This was not being handled properly in make_array when the target shape was rank-1.

wavefunction91 commented 1 year ago

@evaleev Any sense why https://gitlab.com/ValeevGroup/tiledarray/-/jobs/4894910049 fails?

evaleev commented 1 year ago

@evaleev Any sense why https://gitlab.com/ValeevGroup/tiledarray/-/jobs/4894910049 fails?

seems to be a stochastic failure in librett_suite/librett_gpu_mem ... @victor-anisimov , this might be due to cudaMemcpy not actually completing its transfer before librett kernel starting work (on its non-default stream; at least https://docs.nvidia.com/cuda/cuda-runtime-api/api-sync-behavior.html#api-sync-behavior__memcpy-sync indicates that non-pinned host to device transfers or vice versa return before transfers complete). I think it makes sense to schedule all transfers on the same (non default) stream as used by the librett kernel. thoughts?

EDIT: here's the relevant CI log fragment:

image