dbcsr
dbcsr copied to clipboard
DBCSR: Distributed Block Compressed Sparse Row matrix library
Testing the HIP backend at CSCS on the NVIDIA GPUs is not possible quite yet: - on our tesbed Ault: some nvrtc headers are missing in the hipcc installation, so...
See closed PR #249.
If user forgets to call `dbcsr_init_lib`, he will not get a meaningful error message (but `dbcsr_mm` will crash). So we need a check for that.
It appears there is no code relying on __SCALAPACK, and I wonder if [https://github.com/cp2k/dbcsr/blob/develop/CMakeLists.txt#L55](https://github.com/cp2k/dbcsr/blob/develop/CMakeLists.txt#L55) should be dropped. Which LAPACK functions are needed/anticipated to be used?
io_unit must be specified during dbcsr_init_lib and stored in dbcsr_config. No need to resubmit io_unit anytime we call a dbcsr_function
Machine learning libraries have found a nice API for tensor contractions, which is based on the Einstein notation. Examples are [PyTorch](https://pytorch.org/docs/stable/torch.html?highlight=einsum#torch.einsum), [Tensorflow](https://www.tensorflow.org/api_docs/python/tf/einsum), and [NumPy](https://docs.scipy.org/doc/numpy/reference/generated/numpy.einsum.html). I guess, it would be rather...
This is a place holder for discussion, we really need to implement a CI for GPU.