1- __all__ = []
1+ from .... context import ModuleNotAvailableError
22try :
33 from ._cuDSSLU import DirectSolverSuperLU as cuDSSSuperLU
4- __all__ .append ("cuDSSSuperLU" )
5- except (ModuleNotFoundError ,ImportError ):
6- pass
4+ except (ModuleNotFoundError ,ImportError ) as e :
5+ def cuDSSSuperLU (* args , ** kwargs ):
6+ raise ModuleNotAvailableError (
7+ "cuDSSSuperLU is not available. Could not import required backend."
8+ ) from e
79try :
810 from ._luLU import luLU as CachedSuperLU
9- __all__ .append ("CachedSuperLU" )
11+ except (ModuleNotFoundError ,ImportError ):
12+ def CachedSuperLU (* args , ** kwargs ):
13+ raise ModuleNotAvailableError (
14+ "CachedSuperLU is not available. Could not import required backend."
15+ ) from e
16+ try :
1017 from cupyx .scipy .sparse .linalg import splu as CupySuperLU
11- __all__ .append ("CupySuperLU" )
1218except (ModuleNotFoundError ,ImportError ):
13- pass
19+ def CupySuperLU (* args , ** kwargs ):
20+ raise ModuleNotAvailableError (
21+ "CupySuperLU is not available. Could not import required backend."
22+ ) from e
1423
15- if not __all__ :
16- raise ImportError ("Failed to import any CUDA-based sparse solver" )
24+ __all__ = ["cuDSSSuperLU" , "CachedSuperLU" , "CupySuperLU" ]
0 commit comments