Fork me on GitHub

Though Rather slightly off topic, can I use openblas instead of MKL? If it’s a matter of changing the name of library in loadLibrary… Or else?


@chunsj No. OpenBlas is BLAS only, while MKL also implements LAPACK and lots of other extra functions that Neanderthal uses.


@blueberry: does either OpenCL, Neandertheral, or Cuda have an webasembly backend ?


I'm trying to write one piece of code, and have it be able to run both on my dual 1080 GTX as well as webassembly


I don't know.


okay, but I guess there's no plan to have WebAsembly as a backend to Neanderthal, so I'm on my own if I want this ?


never say never


@blueberry I'm on Linux and have MKL for it. I moved all the mentioned libs (literally copied them) to /usr/local/lib. Actually, let me just give the list here of the ones I moved:




Most things work, but when playing around with the new flare lib (for rnns) I stumbled at one point upon this:


java: symbol lookup error: /tmp/ undefined symbol: vdFmax


Presumably I need to move another lib (or more) to where it is visible, but I'm not sure which or what. Thanks for any info!


@blueberry hello! I want to try to execute simple OpenCL function

    (asum (fv 1 -2 3))))
but get this exception
Unhandled java.lang.UnsupportedOperationException
The function clCreateCommandQueueWithProperties is not supported
I came across closed issue on github clojurecl repo and try yours suggestions for similar problem, like this:
(def dev (first (devices (first (platforms)))))

(let [err (int-array 1)
      res (CL/clCreateContext nil 1 (into-array [dev]) nil nil err)]
  (println (aget  err 0))

 => 0
#object[org.jocl.cl_context 0x9ca7a72 "cl_context[0x7fa8c790a500]"]

(defn context-fixed
  ([devices properties ch user-data]
   (clojurecl/context* (into-array cl_device_id devices)
                       (and (seq properties) (clojurecl/context-properties properties))
                       ch user-data))
   (context-fixed devices nil nil nil))
   (with-release [devs (devices)]
     (context-fixed devs))))

(context-fixed (devices (first (platforms))))
=> #object[org.jocl.cl_context 0x78acfdd5 "cl_context[0x7fa8c7a8a660]"]
I work on Mac, opencl version 1.2, this is my clinfo output:
Platform #0
Name: Apple
Version: OpenCL 1.2 (Nov 13 2017 23:06:50)

Device #0
Name: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
Type: CPU
Version: OpenCL 1.2
Global memory size: 16 GB
Local memory size: 32 kB
Max work group size: 1024
Max work item sizes: (1024, 1, 1)

Device #1
Name: Iris Pro
Type: GPU
Version: OpenCL 1.2
Global memory size: 1 GB 512 MB
Local memory size: 64 kB
Max work group size: 512
Max work item sizes: (512, 512, 512)
I can reproduce exactly the same problem with old 2010 mac on opencl 1.0


@jsa-aerial are you sure you have the latest MKL 2018?


@rustam.gilaztdinov Your mac supports OpenCL 1.2, so you have to use a few legacy functions with -1 suffix in names. See the docs and the hello-world example, particularly


@blueberry No - I just figured that out (before seeing your msg) and now have 2018 installed. I will test and confirm it works. Thanks.


@blueberry That was it alright. Confirmed: with new 2018 install all tests pass. Thanks again!