uncomplicate / clojurecl

ClojureCL is a Clojure library for parallel computations with OpenCL.
Eclipse Public License 1.0
276 stars 18 forks source link

Can't create a context #12

Closed amherag closed 8 years ago

amherag commented 8 years ago

I tried running

(context [(first (devices (first (platforms))))])

and I got OpenCL error: CL_INVALID_VALUE. I was going to use core/context but it is unbound.

blueberry commented 8 years ago

Can you please provide more information?

amherag commented 8 years ago

Okay, my first device is my Intel CPU, second device is Intel Iris, and third device is an AMD Radeon R9 M370X.

When running (for the AMD card)

(info (nth (devices (first (platforms))) 2))

I get this:

{:address-bits 32, :available true, :built-in-kernels #{}, :compiler-available true, :double-fp-config #{:round-to-zero :inf-nan :denorm :round-to-inf :round-to-nearest :fma}, :endian-little true, :error-correction-support false, :execution-capabilities #{:kernel}, :extensions

{"cl_APPLE_SetMemObjectDestructor" "cl_APPLE_query_kernel_names" "cl_APPLE_gl_sharing"

"cl_khr_local_int32_base_atomics" "cl_khr_local_int32_extended_atomics" "cl_APPLE_command_queue_select_compute_units" "cl_khr_global_int32_base_atomics" "cl_khr_global_int32_extended_atomics" "cl_khr_fp64" "cl_khr_depth_images" "cl_APPLE_clut" "cl_khr_image2d_from_buffer" "cl_khr_byte_addressable_store" "cl_khr_gl_event" "cl_APPLE_ContextLoggingFunctions" "cl_APPLE_command_queue_priority"}, :global-mem-cache-size 0, :global-mem-cache-type nil, :global-mem-cacheline-size 0, :global-mem-size 2147483648, :global-variable-preferred-total-size #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "(vertigo.structs/wrap-byte-seq (if (clojure.core/= 8 org.jocl.Sizeof/size_t) vertigo.structs/int64 vertigo.structs/int32) (vertigo.bytes/byte-seq res21924auto))"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "(vertigo.structs/wrap-byte-seq (if (clojure.core/= 8 org.jocl.Sizeof/size_t) vertigo.structs/int64 vertigo.structs/int32) (vertigo.bytes/byte-seq res21924auto__))"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$global_variable_preferred_total_size invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$global_variable_preferred_total_size invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22813 invoke "info.clj" 796] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 796] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :image2d-max-height 16384, :image2d-max-width 16384, :image3d-max-depth 2048, :image3d-max-height 2048, :image3d-max-width 2048, :image-base-address-alignment 256, :image-max-array-size 2048, :image-max-buffer-size 65536, :image-pitch-alignment 256, :image-support true, :linker-available true, :local-mem-size 32768, :local-mem-type :local, :max-clock-frequency 800, :max-compute-units 10, :max-constant-args 8, :max-constant-buffer-size 65536, :max-global-variable-size #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "(vertigo.structs/wrap-byte-seq (if (clojure.core/= 8 org.jocl.Sizeof/size_t) vertigo.structs/int64 vertigo.structs/int32) (vertigo.bytes/byte-seq res21924auto))"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "(vertigo.structs/wrap-byte-seq (if (clojure.core/= 8 org.jocl.Sizeof/size_t) vertigo.structs/int64 vertigo.structs/int32) (vertigo.bytes/byte-seq res21924auto))"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$max_global_variable_size invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$max_global_variable_size invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22849 invoke "info.clj" 814] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 814] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :max-mem-aloc-size 536870912, :max-on-device-events #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$max_on_device_events invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$max_on_device_events invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22853 invoke "info.clj" 816] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 816] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :max-on-device-queues #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$max_on_device_queues invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$max_on_device_queues invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22855 invoke "info.clj" 817] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 817] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :max-parameter-size 1024, :max-pipe-args #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$max_pipe_args invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$max_pipe_args invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22859 invoke "info.clj" 819] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 819] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :max-read-image-args 128, :max-read-write-image-args #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$max_read_write_image_args invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$max_read_write_image_args invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22863 invoke "info.clj" 821] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 821] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :max-samplers 16, :max-work-group-size 256, :max-work-item-dimensions 3, :max-work-item-sizes (256 256 256), :max-write-image-args 8, :mem-base-addr-align 32768, :name "AMD Radeon R9 M370X Compute Engine", :native-vector-width-char 4, :native-vector-width-short 2, :native-vector-width-int 1, :native-vector-width-long 1, :native-vector-width-double 1, :native-vector-width-float 1, :native-vector-width-half 0, :opencl-c-version {:version 1.2, :vendor-specific-info nil}, :parent-device nil, :partition-affinity-domain #{}, :partition-max-sub-devices 0, :partition-properties (:by-counts-list-end), :partition-type (:by-counts-list-end), :pipe-max-active-reservations #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$pipe_max_active_reservations invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$pipe_max_active_reservations invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22905 invoke "info.clj" 842] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 842] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :pipe-max-packet-size #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21931auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21931auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$pipe_max_packet_size invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$pipe_max_packet_size invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22907 invoke "info.clj" 843] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 843] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :platform #object[org.jocl.cl_platform_id 0x202c72d0 "cl_platform_id[0x7fff0000]"], :preferred-global-atomic-alignment #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$preferred_global_atomic_alignment invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$preferred_global_atomic_alignment invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22911 invoke "info.clj" 845] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 845] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :preferred-interop-user-sync true, :preferred-local-atomic-alignment #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$preferred_local_atomic_alignment invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$preferred_local_atomic_alignment invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22915 invoke "info.clj" 847] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 847] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :preferred-platform-atomic-alignment #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$preferred_platform_atomic_alignment invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$preferred_platform_atomic_alignment invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22917 invoke "info.clj" 848] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 848] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :preferred-vector-width-char 4, :preferred-vector-width-short 2, :preferred-vector-width-int 1, :preferred-vector-width-long 1, :preferred-vector-width-double 1, :preferred-vector-width-float 1, :preferred-vector-width-half 0, :printf-buffer-size 134217728, :profile "FULL_PROFILE", :profiling-timer-resolution 37, :queue-on-device-max-size #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$queue_on_device_max_size invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$queue_on_device_max_size invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22939 invoke "info.clj" 859] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 859] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :queue-on-device-preferred-size #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21938auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$queue_on_device_preferred_size invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$queue_on_device_preferred_size invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22941 invoke "info.clj" 860] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 860] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :queue-on-device-properties #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21931auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21931auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$queue_on_device_properties invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$queue_on_device_properties invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22943 invoke "info.clj" 862] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 861] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :queue-on-host-properties #{:profiling}, :reference-count 1, :single-fp-config

{:correctly-rounded-divide-sqrt :round-to-zero :inf-nan :round-to-inf :round-to-nearest},

:spir-versions #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "(clojure.core/aget res21898auto 0)"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "(clojure.core/aget res21898auto 0)"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$spir_versions invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$spir_versions invoke "info.clj" 562] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22951 invoke "info.clj" 867] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 867] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :svm-capabilities #error { :cause "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21931auto"} :via [{:type clojure.lang.ExceptionInfo :message "OpenCL error: CL_INVALID_OPERATION." :data {:name "CL_INVALID_OPERATION", :code -59, :type :opencl-error, :details "res21931auto"} :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}] :trace [[clojure.core$ex_info invokeStatic "core.clj" 4617] [clojure.core$ex_info invoke "core.clj" 4617] [uncomplicate.clojurecl.utils$error invokeStatic "utils.clj" 97] [uncomplicate.clojurecl.utils$error invokePrim "utils.clj" -1] [uncomplicate.clojurecl.info$svm_capabilities invokeStatic "info.clj" 77] [uncomplicate.clojurecl.info$svm_capabilities invokePrim "info.clj" -1] [uncomplicate.clojurecl.info$eval22784$fn22785$fn22953 invoke "info.clj" 868] [uncomplicate.clojurecl.info$eval22784$fn22785 invoke "info.clj" 868] [uncomplicate.clojurecl.info$eval21959$fn21960$G2195021969 invoke "info.clj" 232] [mnn.core$eval48614 invokeStatic "form-init8090785367503083654.clj" 30] [mnn.core$eval48614 invoke "form-init8090785367503083654.clj" 30] [clojure.lang.Compiler eval "Compiler.java" 6927] [clojure.lang.Compiler eval "Compiler.java" 6890] [clojure.core$eval invokeStatic "core.clj" 3105] [clojure.core$eval invoke "core.clj" 3101] [clojure.main$repl$read_eval_print7408$fn7411 invoke "main.clj" 240] [clojure.main$repl$read_eval_print7408 invoke "main.clj" 240] [clojure.main$repl$fn7417 invoke "main.clj" 258] [clojure.main$repl invokeStatic "main.clj" 258] [clojure.main$repl doInvoke "main.clj" 174] [clojure.lang.RestFn invoke "RestFn.java" 1523] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn38240 invoke "interruptible_eval.clj" 87] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.AFn applyTo "AFn.java" 144] [clojure.core$apply invokeStatic "core.clj" 646] [clojure.core$with_bindingsSTAR invokeStatic "core.clj" 1881] [clojure.core$with_bindingsSTAR doInvoke "core.clj" 1881] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 85] [clojure.tools.nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55] [clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn38285$fn38288 invoke "interruptible_eval.clj" 222] [clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn38280 invoke "interruptible_eval.clj" 190] [clojure.lang.AFn run "AFn.java" 22] [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1142] [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 617] [java.lang.Thread run "Thread.java" 745]]}, :device-type :gpu, :vendor "AMD", :vendor-id 16915456, :device-version "OpenCL 1.2 ", :driver-version "1.2 (Feb 26 2016 23:31:46)"}

For the "whole code" part. I'm just testing. I wanted to try running the legacy function (command-queue-1) for OpenCL 1.2, and the first step was creating a context. I tried using the core/ * context * var, but it says it's unbound. So I tried running the following code:

(context [(nth (devices (first (platforms))) 2)])

And the error report is this:

  1. Unhandled clojure.lang.ExceptionInfo OpenCL error: CL_INVALID_VALUE. {:name "CL_INVALID_VALUE", :code -30, :type :opencl-error, :details "res"}

             core.clj: 4617  clojure.core/ex-info
             core.clj: 4617  clojure.core/ex-info
            utils.clj:   97  uncomplicate.clojurecl.utils/error
            utils.clj:   -1  uncomplicate.clojurecl.utils/error
             core.clj:   77  uncomplicate.clojurecl.core/context*
             core.clj:  321  uncomplicate.clojurecl.core/context*
             core.clj:  364  uncomplicate.clojurecl.core/context
             core.clj:  343  uncomplicate.clojurecl.core/context
             core.clj:  367  uncomplicate.clojurecl.core/context
             core.clj:  343  uncomplicate.clojurecl.core/context
                 REPL:   28  mnn.core/eval48618
                 REPL:   28  mnn.core/eval48618
        Compiler.java: 6927  clojure.lang.Compiler/eval
        Compiler.java: 6890  clojure.lang.Compiler/eval
             core.clj: 3105  clojure.core/eval
             core.clj: 3101  clojure.core/eval
             main.clj:  240  clojure.main/repl/read-eval-print/fn
             main.clj:  240  clojure.main/repl/read-eval-print
             main.clj:  258  clojure.main/repl/fn
             main.clj:  258  clojure.main/repl
             main.clj:  174  clojure.main/repl
          RestFn.java: 1523  clojure.lang.RestFn/invoke

    interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn AFn.java: 152 clojure.lang.AFn/applyToHelper AFn.java: 144 clojure.lang.AFn/applyTo core.clj: 646 clojure.core/apply core.clj: 1881 clojure.core/with-bindings core.clj: 1881 clojure.core/with-bindings RestFn.java: 425 clojure.lang.RestFn/invoke interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 55 clojure.tools.nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn AFn.java: 22 clojure.lang.AFn/run ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run Thread.java: 745 java.lang.Thread/run

blueberry commented 8 years ago

*context* will still and should be unbound in this case. context function only creates the context, does not bind it. If you want to bind *context*, use with-context or with-default-1 macro

Can you please try to use with-default-1. Do you get the same exception? Is *context* available then?

amherag commented 8 years ago

Okay, got it. But context still rises an error.

Using with-default-1 rises the following error:

  1. Caused by java.lang.RuntimeException No such var: uncomplicate.clojurecl.legacy/with-platform

What I did was look at the source for with-default-1, copy & paste it, and replace the ~@body:

(with-platform (first (platforms))
    (let [dev# (first (devices))]
      (with-context (context [dev#])
        (with-queue (command-queue-1 dev#)
          (with-default-engine
            (facts "We'll write our GPU code here, but for now here is only the plain CPU stuff you recognize from the plain Neanderthal tutorial."
                   (asum (sv 1 -2 3)) => 6.0))))))

And I get the following error:

  1. Unhandled clojure.lang.ExceptionInfo OpenCL error: CL_INVALID_VALUE. {:name "CL_INVALID_VALUE", :code -30, :type :opencl-error, :details "res"}

             core.clj: 4617  clojure.core/ex-info
             core.clj: 4617  clojure.core/ex-info
            utils.clj:   97  uncomplicate.clojurecl.utils/error
            utils.clj:   -1  uncomplicate.clojurecl.utils/error
             core.clj:   77  uncomplicate.clojurecl.core/context*
             core.clj:  321  uncomplicate.clojurecl.core/context*
             core.clj:  364  uncomplicate.clojurecl.core/context
             core.clj:  343  uncomplicate.clojurecl.core/context
             core.clj:  367  uncomplicate.clojurecl.core/context
             core.clj:  343  uncomplicate.clojurecl.core/context
                 REPL:   23  mnn.core/eval51380
                 REPL:   21  mnn.core/eval51380
        Compiler.java: 6927  clojure.lang.Compiler/eval
        Compiler.java: 6890  clojure.lang.Compiler/eval
             core.clj: 3105  clojure.core/eval
             core.clj: 3101  clojure.core/eval
             main.clj:  240  clojure.main/repl/read-eval-print/fn
             main.clj:  240  clojure.main/repl/read-eval-print
             main.clj:  258  clojure.main/repl/fn
             main.clj:  258  clojure.main/repl
             main.clj:  174  clojure.main/repl
          RestFn.java: 1523  clojure.lang.RestFn/invoke

    interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn AFn.java: 152 clojure.lang.AFn/applyToHelper AFn.java: 144 clojure.lang.AFn/applyTo core.clj: 646 clojure.core/apply core.clj: 1881 clojure.core/with-bindings core.clj: 1881 clojure.core/with-bindings RestFn.java: 425 clojure.lang.RestFn/invoke interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 55 clojure.tools.nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn AFn.java: 22 clojure.lang.AFn/run ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run Thread.java: 745 java.lang.Thread/run

blueberry commented 8 years ago

Can you try this (context [(first (devices (first (platforms))))]). I literally copypasted this from my repl.

That probably won't help so try to call JOCL directly like this from your REPL:

(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))
            res)

If it prints something like this:

0
#object[org.jocl.cl_context 0x21bb8fd "cl_context[0x7f925403e790]"]

Your hardware and platform is OK, and the error is somewhere in ClojureCL. If it still doesn't work, there is a problem on Mac and/or in JOCL, and we can ask Marco for help in JOCL issues.

Obviously the problem is something with the Mac's OpenCL 1.2 platform. I just need to find what exactly and handle it.

You discovered a silly bug in legacy that is unrelated to this problem - thanks. I'll release the bugfix release of clojurecl and neanderthal today.

amherag commented 8 years ago

First code block prints CL_INVALID_VALUE.

Second code block prints:

0
#object[org.jocl.cl_context 0x4c4ae961 "cl_context[0x7fcf9e711a90]"]

I hope it isn't a problem with Mac's OpenCL. If you need anything just ask and I'll help as soon as I can.

blueberry commented 8 years ago

That's good news! The problem is in ClojureCL. I have to go now, but I'll investigate this later today.

blueberry commented 8 years ago

I think I've found the solution. Can you please try this?

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

(context-fixed (devices (first (platforms))))
amherag commented 8 years ago

No :( I got this error:

Show: Clojure Java REPL Tooling Duplicates All (12 frames hidden)

  1. Unhandled clojure.lang.ExceptionInfo OpenCL error: CL_INVALID_VALUE. {:name "CL_INVALID_VALUE", :code -30, :type :opencl-error, :details "res"}

             core.clj: 4617  clojure.core/ex-info
             core.clj: 4617  clojure.core/ex-info
            utils.clj:   97  uncomplicate.clojurecl.utils/error
            utils.clj:   -1  uncomplicate.clojurecl.utils/error
             core.clj:   77  uncomplicate.clojurecl.core/context*
             core.clj:  321  uncomplicate.clojurecl.core/context*
             core.clj:  364  uncomplicate.clojurecl.core/context
             core.clj:  343  uncomplicate.clojurecl.core/context
                 REPL:  451  mnn.core/context-fixed
                 REPL:  445  mnn.core/context-fixed
                 REPL:  456  mnn.core/eval51955
                 REPL:  456  mnn.core/eval51955
        Compiler.java: 6927  clojure.lang.Compiler/eval
        Compiler.java: 6890  clojure.lang.Compiler/eval
             core.clj: 3105  clojure.core/eval
             core.clj: 3101  clojure.core/eval
             main.clj:  240  clojure.main/repl/read-eval-print/fn
             main.clj:  240  clojure.main/repl/read-eval-print
             main.clj:  258  clojure.main/repl/fn
             main.clj:  258  clojure.main/repl
             main.clj:  174  clojure.main/repl
          RestFn.java: 1523  clojure.lang.RestFn/invoke

    interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn AFn.java: 152 clojure.lang.AFn/applyToHelper AFn.java: 144 clojure.lang.AFn/applyTo core.clj: 646 clojure.core/apply core.clj: 1881 clojure.core/with-bindings core.clj: 1881 clojure.core/with-bindings RestFn.java: 425 clojure.lang.RestFn/invoke interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 55 clojure.tools.nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn AFn.java: 22 clojure.lang.AFn/run ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run Thread.java: 745 java.lang.Thread/run

blueberry commented 8 years ago

I had a typo in the forwarding functions. They should be all called context-fixed. Also be sure you call our context-fixed test function when you call this.

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

(context-fixed (devices (first (platforms))))
amherag commented 8 years ago

I didn't notice the type. I just pasted the code and tried to run it.

It works now :D

#object[org.jocl.cl_context 0x12f949fb "cl_context[0x7fcf9e2f6ad0]"]

blueberry commented 8 years ago

ClojureCL 0.6.4 and Neanderthal 0.6.2 are in Clojars.

amherag commented 8 years ago

I tested them, and everything works so far.

Thank you very much and congratulations!

2016-05-24 14:33 GMT-07:00 Dragan Djuric notifications@github.com:

ClojureCL 0.6.4 and Neanderthal 0.6.2 are in Clojars.

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/uncomplicate/clojurecl/issues/12#issuecomment-221403278