Closed IngoScholtes closed 7 months ago
Some good and bad news on this issue:
PathData
by a nested_tensor
the performance of the PathData
creation on the GPU increases by a factor of five.unfold
operation, which we need to create edge_indices of k-th order models is not yet implemented for nested_tensors
(neither for the CPU nor for GPU backend)This is outdated. For updates on this see #132
A major performance bottleneck in the current implementation is the use of a dictionary to store path tensors in the class
PathData
. This creates a huge performance overhead when using CUDA vs. CPU., as each individual tensor in the dictionary must be copied to the GPU separately.A better solution could possibly be implemented based on the new nested tensor class available in pyTorch 2.1. This would allow to store all paths with varying lengths in a single nested tensor, i.e. we would only need a single copy operation when moving the data to the GPU.