Skip to content
  • Pavel Kus's avatar
    partially addressing issues with the GPU kernel · ec5b3bec
    Pavel Kus authored
    This commit addresses several issues. It essentially forbids the use of
    the GPU kernel, which become obsolete and caused problems. But it
    does not complete remove the related code, nor does it forbid from
    explicitly selecting the GPU kernel. However, if the user does select
    it, the warning will be issued and the GENERIC kernel would be used
    instead. In the more details:
    * Commentin out operations in the GPU kernel, which do not compile with
      CUDA 10.1. This makes the kernel deffinitely not ussable (but it was
      true even before)
    * removing the gpu_tridiag_band option, sincie the tridiag->banded routine
      is actually not ported to GPU at all. This step will thus always be
      run on the CPU
    * removing the gpu_trans_ev_tridi_to_band option, since the GPU version
      of this step cannot run without the GPU kernel and it is not usable.
      This step will thus also be performed on the CPU
    * modifying REAL_GPU_KERNEL_ONLY_WHEN_GPU_IS_ACTIVE and
      COMPLEX_GPU_KERNEL_ONLY_WHEN_GPU_IS_ACTIVE such that the GPU kernel is
      not considered during the autotuning
    
    * TODO however, the GPU kernel can still be enforced by the user. In
      this case, during the calculation, a warning is issued and the kernel
      is switched to the GENERIC one. This should be improved and there
      should not even be the possibility to choose the GPU kernel at the
      begining.
    ec5b3bec