Dear sir or madam,
It seems like function index_put_ (used for setting values in tensors 2) does not do anything with sparse tensors.
In the following code I try to insert value 42 in position (0, 0) of a sparse tensor:
  auto sparse_tensor = torch::zeros({2, 2}, torch::kSparse);

  std::cout << "Before put: " << sparse_tensor.index({0, 0}) << std::endl;
  sparse_tensor.index_put_({0, 0}, 42);
  std::cout << "After put: " << sparse_tensor.index({0, 0}) << std::endl;



The output of the code shows that no value was inserted:
Before put: 0
[ CPUFloatType{} ]
After put: 0
[ CPUFloatType{} ]



While for dense matrices the function works as intended:
  auto dense_tensor = torch::zeros({2, 2}, torch::kStrided);

  std::cout << "Before put: " << dense_tensor.index({0, 0}) << std::endl;
  dense_tensor.index_put_({0, 0}, 42);
  std::cout << "After put: " << dense_tensor.index({0, 0}) << std::endl;

Giving the following output:
Before put: 0
[ CPUFloatType{} ]
After put: 42
[ CPUFloatType{} ]

I build test application with (nightly/cpu/libtorch-cxx11-abi-shared-with-deps-latest.zip) binaries from this post:  Libtorch binaries compiled with flag _GLIBCXX_USE_CXX11_ABI = 1.
Could you please help me understand whether I do something incorrectly or it is a bug?
Thank you in advance for any assistance!