The indices (empty tensor) returned by topk for k=0, leads to RuntimeError: CUDA error: device-side assert triggered when being used for selecting indexes within another tensor. However, when using an empty tensor (not from topk.indices) for selecting indexes to the another tensor works fine. Is this an expected behavior ? Note that the behavior with device="cpu" is correct.
Pytorch version 1.5.1. The code runs fine on older version (1.2.0)
Code to reproduce the above:
import torch
#device = "cpu"
device = "cuda:0"
x = torch.arange(1,10).float().to(device)

# Case - 1: use an empty cuda tensor for index
y = []
y_t = torch.LongTensor(y).to(device)

# Case - 2: use an empty cuda tensor from topk.indices for index
topk = torch.topk (x, k=0, largest=False)

print(y_t, topk.indices)
x[y_t] = 0.0
print(x)
x[topk.indices] = 0.0
print(x)