CI: windows conda build
- [x] fix missing conda deps @gfardell
- [x]
ccpi-regulariser=24.0.1 - [x]
tigre=2.6 - [ ]
astra(or skip the tests?)
- [x]
- [x] conda build windows matrix @casperdcl
- [x] fix msvc-python-cmake interoperability
- [x] revert hardcoded generator & toolset #1928
- [x] fix msvc-python-cmake interoperability
- [x] drop unused
LIBRARY_LIB&LIBRARY_INC@casperdcl - [x] drop
recipe/conda_build_config.yamlin favour of CI matrix @casperdcl- [ ] revert debug commit @casperdcl
links
- follow-up to #1914
- part of #1598
- related to #1880
- related to #1324
It seems to fail import astra but it has installed it.
https://github.com/TomographicImaging/CIL/actions/runs/11062036734/job/30735765603?pr=1918#step:5:863
It looks like libastra might be the 11.2 version - I have no idea why, but we want the cuda 11.8 version. Not sure if that's the issue though.
libastra: 2.1.0-cuda11.2hb8489e9_0 conda-forge
my local environent has:
libastra 2.1.0 cuda11.8hb8fb34d_111 conda-forge
Looks like there is still the error on astra
File "C:\Miniconda\envs\test\conda-bld\cil_1746634437096\_test_env\Lib\site-packages\astra\matlab.py", line 38, in <module>
from . import astra_c
ImportError: DLL load failed while importing astra_c: The specified module could not be found.
The CI installed version is
astra-toolbox: 2.1.0-cudapy312h0f47501_105 conda-forge
libastra: 2.1.0-cuda11.2hb8489e9_0 conda-forge
In my local working environment I have
astra-toolbox 2.1.0 cudapy312h0f47501_105 conda-forge
libastra 2.1.0 cuda11.8hb8fb34d_111 conda-forge
@gfardell pointed out the different cuda sdk linked on libastra.
However, this could be a red herring, because the system says it's not got an NVIDIA GPU:
----------------------------------------------------------------------
TEST SYSTEM CONFIGURATION
CIL version: 24.3.0.dev47+g66da58b1
{'has_astra': True,
'has_ccpi_regularisation': True,
'has_cvxpy': False,
'has_ipp': True,
'has_matplotlib': True,
'has_numba': True,
'has_nvidia': False,
'has_tigre': True,
'has_tomophantom': False,
'has_zenodo_get': True}
----------------------------------------------------------------------
Also, did we not understand that we should use the astra-toolbox channel instead of conda-forge?
Really should be installing cpu-only packages. GPU versions should be skipped on GitHub's runners.
Maybe, but the point is not that it has installed the gpu version, rather that it can't find the library, no?
For sure, the ASTRA GPU package can be installed on a system without GPU and the import above should not fail.
to avoid doubling the CI usage on
master, we could just do one windows build per python version.
Yep, i think that's a good plan. On a tag I guess we can set the numpy versions we build and test with to cover the range at least?
On a push to master potentially just one python version is sufficient? The full functionality is tested by the linux tests, and it gives us one nightly to use if we need.
On a any branch push I'd be tempted to drop to one linux version only, cpu and gpu? But maybe this is a bigger discussion.