You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to run the OpenCL2 hello world example. However the ns declaration already fails:
(in-ns 'hello-world.opencl2)
=> #object[clojure.lang.Namespace 0x764accdb "hello-world.opencl2"]
(ns hello-world.opencl2
(:require [uncomplicate.commons.core :refer [with-release]]
[uncomplicate.clojurecl.core :refer [with-default set-default! release-context!]]
[uncomplicate.neanderthal
[core :refer [asum]]
[opencl :refer [clv with-default-engine set-engine!]]]))
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Execution error (UnsatisfiedLinkError) at java.lang.ClassLoader$NativeLibrary/load0 (ClassLoader.java:-2).
/tmp/libneanderthal-mkl-0.30.015214742619927315764.so: libmkl_rt.so: cannot open shared object file: No such file or directory
I tried to venture on manually anyway. Since the first OpenCL platform on my system appears to be unusable, I use the other one (thus I cannot use set-default!, but have to copy parts of it):
The reason might be that I simply do not have MKL installed on my system. I do have an AMD system with a proper GPU, so I do not see why I would need the MKL. How do I prevent Neanderthal from trying to use the MKL and make it use OpenCL instead?
MKL works on both Intel and AMD CPUs. You need to install it because some fundamental data transferring functions use it. Otherwise, how would you move any data to the GPU? Anyway, if for some reason you'd wish to avoid MKL, you could provide another implementation of a CPU engine, but I can't see why you'd ever want that on an x86_64 CPU.
I am trying to run the OpenCL2 hello world example. However the
ns
declaration already fails:I tried to venture on manually anyway. Since the first OpenCL platform on my system appears to be unusable, I use the other one (thus I cannot use
set-default!
, but have to copy parts of it):That seems to have worked quite well. :)
Now let's try again to require the Neanderthat functions:
The reason might be that I simply do not have MKL installed on my system. I do have an AMD system with a proper GPU, so I do not see why I would need the MKL. How do I prevent Neanderthal from trying to use the MKL and make it use OpenCL instead?
P.S. I come from https://dragan.rocks/articles/19/Deep-Learning-in-Clojure-From-Scratch-to-GPU-1-Representing-Layers-and-Connections#orgc22d894 so maybe I missed something that describes how to configure Neanderthal?
The text was updated successfully, but these errors were encountered: