From 0ddb5e28b11ac9a8e5a57e0e427ecd6f27e7c467 Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Wed, 11 Mar 2020 09:04:44 +0100 Subject: [PATCH] Better error upon use of missing libraries. --- src/bindeps.jl | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/bindeps.jl b/src/bindeps.jl index 7bdfb31b..6a88993b 100644 --- a/src/bindeps.jl +++ b/src/bindeps.jl @@ -35,12 +35,22 @@ libcusparse() = @after_init(__libcusparse[]) libcusolver() = @after_init(__libcusolver[]) libcufft() = @after_init(__libcufft[]) libcurand() = @after_init(__libcurand[]) -libcudnn() = @after_init(__libcudnn[]) -libcutensor() = @after_init(__libcutensor[]) +function libcudnn() + @after_init begin + @assert has_cudnn() "This functionality is unavailabe as CUDNN is missing." + __libcudnn[] + end +end +function libcutensor() + @after_init begin + @assert has_cutensor() "This functionality is unavailabe as CUTENSOR is missing." + __libcutensor[] + end +end export has_cudnn, has_cutensor -has_cudnn() = libcudnn() !== nothing -has_cutensor() = libcutensor() !== nothing +has_cudnn() = @after_init(__libcudnn[]) !== nothing +has_cutensor() = @after_init(__libcutensor[]) !== nothing ## discovery