Conda keeps superseeding pytorch from cpu to gpu

I installed pytorch with cudatools=12.4 using the conda installation process reported in the website.

Right now I did on a terminal:
$ conda update --all

and yes some packages need to be updated, but for some reasons which I don’t understand, conda wants to replace the cuda version of torch with an updated cpu version:

 - defaults
 - conda-forge
 - nvidia
 - pytorch-nightly
Platform: linux-64
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    boto3-1.34.116             |     pyhd8ed1ab_0          79 KB  conda-forge
    botocore-1.34.116          |pyge310_1234567_0         6.7 MB  conda-forge
    jinja2-3.1.4               |  py312h06a4308_0         355 KB
    pytorch-2.4.0.dev20240531  |     py3.12_cpu_0        88.5 MB  pytorch-nightly
    requests-2.32.3            |     pyhd8ed1ab_0          57 KB  conda-forge
    torchaudio-2.2.0.dev20240531|        py312_cpu         5.1 MB  pytorch-nightly
    torchvision-0.19.0.dev20240531|        py312_cpu         7.2 MB  pytorch-nightly
    transformers-4.41.2        |     pyhd8ed1ab_0         3.1 MB  conda-forge
    wayland-1.23.0             |       h5291e77_0         315 KB  conda-forge
    ------------------------------------------------------------
                                           Total:       111.3 MB

The following packages will be UPDATED:

  boto3                               1.34.113-pyhd8ed1ab_0 --> 1.34.116-pyhd8ed1ab_0 
  botocore                       1.34.114-pyge310_1234567_0 --> 1.34.116-pyge310_1234567_0 
  gitdb                 pkgs/main::gitdb-4.0.7-pyhd3eb1b0_0 --> conda-forge::gitdb-4.0.11-pyhd8ed1ab_0 
  pytorch            2.4.0.dev20240528-py3.12_cuda12.4_cud~ --> 2.4.0.dev20240531-py3.12_cpu_0 
  requests           pkgs/main/linux-64::requests-2.32.2-p~ --> conda-forge/noarch::requests-2.32.3-pyhd8ed1ab_0 
  torchaudio                  2.2.0.dev20240529-py312_cu124 --> 2.2.0.dev20240531-py312_cpu 
  torchvision                0.19.0.dev20240529-py312_cu124 --> 0.19.0.dev20240531-py312_cpu 
  transformers                          4.41.1-pyhd8ed1ab_0 --> 4.41.2-pyhd8ed1ab_0 
  wayland                                 1.22.0-h8c25dac_1 --> 1.23.0-h5291e77_0 

The following packages will be SUPERSEDED by a higher-priority channel:

  jinja2             conda-forge/noarch::jinja2-3.1.4-pyhd~ --> pkgs/main/linux-64::jinja2-3.1.4-py312h06a4308_0 
  mkl                conda-forge::mkl-2022.1.0-h84fe81f_915 --> pkgs/main::mkl-2022.1.0-hc2b9512_224 
  mkl-devel          conda-forge::mkl-devel-2022.1.0-ha770~ --> pkgs/main::mkl-devel-2022.1.0-h66538d2_224 
  mkl-include        conda-forge::mkl-include-2022.1.0-h84~ --> pkgs/main::mkl-include-2022.1.0-h06a4308_224 

The following packages will be DOWNGRADED:

  intel-openmp                      2023.1.0-hdb19cb5_46306 --> 2022.1.0-h9e868ea_3769 
  pytorch-mutex                                    1.0-cuda --> 1.0-cpu 
  smmap                                  6.0.0-pyhd8ed1ab_1 --> 5.0.0-pyhd8ed1ab_0 


Proceed ([y]/n)?

But why?
In the past I had this problem all the time leading to removing torch and reinstalling it again with the cuda version.

How can I get rid of this problem?
If a new cuda build is available, then it should update, otherwise no.

I would suggest to try:

conda update pytorch

I prefer to always use this way because conda make thing messy easily. And with that you can see exactly wich packages and versions you will be updating or downloading.