<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div>Ouch !<br></div><div><br data-mce-bogus="1"></div><div>We do have pyvkfft and pycuda, but it seems we have missed the scikit-cuda dependency for Nabu, which is indicated as optional in:</div><ul><li><a href="https://gitlab.esrf.fr/tomotools/nabu/-/blob/master/pyproject.toml?ref_type=heads">https://gitlab.esrf.fr/tomotools/nabu/-/blob/master/pyproject.toml?ref_type=heads</a><br data-mce-bogus="1"></li><li><a href="https://tomotools.gitlab-pages.esrf.fr/nabu/install.html">https://tomotools.gitlab-pages.esrf.fr/nabu/install.html</a><br data-mce-bogus="1"></li></ul><div>Not so optional in fact...<br data-mce-bogus="1"></div><div>It may be the same story with the missing <code class="docutils literal notranslate"><span class="pre">pycudwt</span></code> for wavelets<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>The good news is that the scikit-cuda source does not seem to require too many hidden dependencies, see:</div><ul><li><a href="https://github.com/lebedov/scikit-cuda">https://github.com/lebedov/scikit-cuda</a><br data-mce-bogus="1"></li></ul><div>Regarding the pycudwt, the pypi and source code are a: </div><ul><li><a href="https://pypi.org/project/pycudwt/">https://pypi.org/project/pycudwt/</a> <br data-mce-bogus="1"></li><li><a href="https://github.com/pierrepaleo/pypwt">https://github.com/pierrepaleo/pypwt</a><br data-mce-bogus="1"></li></ul><div>Roland, do you think you can push sk-cuda and <code class="docutils literal notranslate"><span class="pre">pycudwt</span></code> into NEW ?<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>I hope there are no other hidden dependencies.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>Emmanuel.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><hr id="zwchr" data-marker="__DIVIDER__"><div data-marker="__HEADERS__"><b>De: </b>"Andrew KING" <andrew.king@synchrotron-soleil.fr><br><b>À: </b>"FARHI Emmanuel" <emmanuel.farhi@synchrotron-soleil.fr><br><b>Cc: </b>"PIAULT Pierre" <pierre.piault@synchrotron-soleil.fr>, "PICCA Frederic-Emmanuel" <frederic-emmanuel.picca@synchrotron-soleil.fr><br><b>Envoyé: </b>Jeudi 21 Novembre 2024 15:19:19<br><b>Objet: </b>Re: nabu on grades<br></div><div><br></div><div data-marker="__QUOTED_TEXT__"><div id="zimbraEditorContainer" style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000" class="1"><div>Hi Emmanuel,<br></div><br><div>  I have just tried Nabu again - I get another error relating to cuda - see messages copied below...<br></div><br><div>Can you have a look?<br></div><div>Thanks, Andy<br></div><div><br>king@grades-vm:~/persistent_area/benchmark$ nabu 0231_WF6_UJcani_LHS_T1_7p2_top_30k_400ms3600pr_tomo_BINNING/nabu.conf <br>Browsing dataset<br>dataset /tmp/sshfs-persistent_area/benchmark/0231_WF6_UJcani_LHS_T1_7p2_top_30k_400ms3600pr_tomo_BINNING/0231_WF6_UJcani_LHS_T1_7p2_top_30k_400ms3600pr_tomo_BINNING1.nx has broken virtual-dataset at /flyscan/instrument/detector/data. ('/tmp/sshfs-persistent_area/benchmark/0231_WF6_UJcani_LHS_T1_7p2_top_30k_400ms3600pr_tomo_BINNING/tmp/sshfs-persistent_area/benchmark/0231_WF6_UJcani_LHS_T1_7p2_top_30k_400ms3600pr_tomo_BINNING/0231_WF6_UJcani_LHS_T1_7p2_top_30k_400ms3600pr_tomo_BINNING.nxs',) missing<br>Updating dataset information with user configuration<br>Loaded darks from /tmp/sshfs-persistent_area/benchmark/0231_WF6_UJcani_LHS_T1_7p2_top_30k_400ms3600pr_tomo_BINNING/0231_WF6_UJcani_LHS_T1_7p2_top_30k_400ms3600pr_tomo_BINNING1_darks.hdf5<br>Loaded flats from /tmp/sshfs-persistent_area/benchmark/0231_WF6_UJcani_LHS_T1_7p2_top_30k_400ms3600pr_tomo_BINNING/0231_WF6_UJcani_LHS_T1_7p2_top_30k_400ms3600pr_tomo_BINNING1_flats.hdf5<br>Overwriting pixel_size = 1.3e-06<br>Doing dataset estimations<br>Doing coupled validation<br>Going to reconstruct slices (0, 1023)<br>Unsharp mask margin: 21 pixels<br>Estimated margin: 21 pixels<br>Processing sub-volume ((0, 3600), (0, 1024), (0, 1024))<br>Creating a new pipeline object<br>Set sub-region to ((0, 3600), (0, 1024), (0, 1024))<br>Traceback (most recent call last):<br>  File "/usr/bin/nabu", line 8, in <module><br>    sys.exit(main())<br>             ^^^^^^<br>  File "/usr/lib/python3/dist-packages/nabu/app/reconstruct.py", line 114, in main<br>    R.reconstruct()<br>  File "/usr/lib/python3/dist-packages/nabu/pipeline/fullfield/reconstruction.py", line 621, in reconstruct<br>    self._reconstruct_chunked()<br>  File "/usr/lib/python3/dist-packages/nabu/pipeline/fullfield/reconstruction.py", line 573, in _reconstruct_chunked<br>    self._instantiate_pipeline_if_necessary(task, prev_task)<br>  File "/usr/lib/python3/dist-packages/nabu/pipeline/fullfield/reconstruction.py", line 551, in _instantiate_pipeline_if_necessary<br>    self._instantiate_pipeline(current_task)<br>  File "/usr/lib/python3/dist-packages/nabu/pipeline/fullfield/reconstruction.py", line 543, in _instantiate_pipeline<br>    pipeline = self._pipeline_cls(*args, logger=self.logger, margin=task["margin"], **kwargs)<br>               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br>  File "/usr/lib/python3/dist-packages/nabu/pipeline/fullfield/chunked_cuda.py", line 61, in __init__<br>    super().__init__(<br>  File "/usr/lib/python3/dist-packages/nabu/pipeline/fullfield/chunked.py", line 106, in __init__<br>    self._init_pipeline()<br>  File "/usr/lib/python3/dist-packages/nabu/pipeline/fullfield/chunked.py", line 276, in _init_pipeline<br>    self._init_phase()<br>  File "/usr/lib/python3/dist-packages/nabu/pipeline/utils.py", line 20, in wrapper<br>    return func(*args, **kwargs)<br>           ^^^^^^^^^^^^^^^^^^^^^<br>  File "/usr/lib/python3/dist-packages/nabu/pipeline/fullfield/chunked.py", line 481, in _init_phase<br>    self.phase_retrieval = self.PaganinPhaseRetrievalClass(<br>                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br>  File "/usr/lib/python3/dist-packages/nabu/preproc/phase_cuda.py", line 45, in __init__<br>    self._init_fft(fft_backend)<br>  File "/usr/lib/python3/dist-packages/nabu/preproc/phase_cuda.py", line 66, in _init_fft<br>    self.cufft = fft_cls(shape=self.data_padded.shape, dtype=np.float32, r2c=True)<br>                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br>  File "/usr/lib/python3/dist-packages/nabu/processing/fft_base.py", line 46, in __init__<br>    self._configure_batched_transform()<br>  File "/usr/lib/python3/dist-packages/nabu/processing/fft_cuda.py", line 48, in _configure_batched_transform<br>    raise ImportError("Please install pycuda and scikit-cuda to use the CUDA back-end")<br>ImportError: Please install pycuda and scikit-cuda to use the CUDA back-end<br><br></div><div><div class="moz-signature"><div style="font-family: arial, helvetica, sans-serif; font-size:
      12pt; color: rgb(0, 0, 0);"><div><br>
        </div>
      </div>
    </div></div></div><br></div></div></body></html>