juice icon indicating copy to clipboard operation
juice copied to clipboard

add non-cuda examples

Open adsick opened this issue 3 years ago • 3 comments

adsick avatar Jan 13 '22 21:01 adsick

The main issue here is the backpropagation part for the Native backend, which is missing / partially done. Happy to review PRs, it's not particularly difficult to do, it just requires a clear mental model and some diligence when implementing.

drahnr avatar Apr 26 '22 06:04 drahnr

To clarify, you can't "disable" the cuda feature and enable the opencl feature and expect it to build, right?

Brandons-MacBook-Air:juice-examples brandonros 2023-02-06 15:07:59 $ cargo build --release --features opencl
   Compiling coaster v0.2.0 (/Users/brandonros/Desktop/juice/coaster)
   Compiling juice-utils v0.0.1 (/Users/brandonros/Desktop/juice/juice-examples/juice-utils)
error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
 --> coaster/src/frameworks/opencl/api/context.rs:7:5
  |
7 | use frameworks::opencl::context::{ContextInfo, ContextInfoQuery, ContextProperties};
  |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
 --> coaster/src/frameworks/opencl/api/context.rs:8:5
  |
8 | use frameworks::opencl::{Device, Error, Platform, API};
  |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
 --> coaster/src/frameworks/opencl/api/device.rs:7:5
  |
7 | use frameworks::opencl::{Device, DeviceInfo, Platform};
  |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
 --> coaster/src/frameworks/opencl/api/device.rs:8:5
  |
8 | use frameworks::opencl::{Error, API};
  |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
 --> coaster/src/frameworks/opencl/api/memory.rs:7:5
  |
7 | use frameworks::opencl::{Context, Error, Event, Memory, MemoryFlags, Queue, API};
  |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
 --> coaster/src/frameworks/opencl/api/platform.rs:5:5
  |
5 | use frameworks::opencl::Platform;
  |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
 --> coaster/src/frameworks/opencl/api/platform.rs:6:5
  |
6 | use frameworks::opencl::{Error, API};
  |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
 --> coaster/src/frameworks/opencl/api/queue.rs:7:5
  |
7 | use frameworks::opencl::{Context, Device, Error, Event, Program, Queue, QueueFlags, API};
  |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
  --> coaster/src/device.rs:16:5
   |
16 | use frameworks::opencl::Error as OpenCLError;
   |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
  --> coaster/src/framework.rs:27:5
   |
27 | use frameworks::opencl::Error as OpenCLError;
   |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`
   |
help: there is a crate or module with a similar name
   |
27 | use framework::opencl::Error as OpenCLError;
   |     ~~~~~~~~~

error[E0432]: unresolved import `backend`
  --> coaster/src/frameworks/opencl/mod.rs:19:5
   |
19 | use backend::{Backend, IBackend};
   |     ^^^^^^^ help: a similar path exists: `crate::backend`
   |
   = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>

error[E0432]: unresolved import `framework`
  --> coaster/src/frameworks/opencl/mod.rs:20:5
   |
20 | use framework::IFramework;
   |     ^^^^^^^^^ help: a similar path exists: `crate::framework`
   |
   = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>

error[E0432]: unresolved import `hardware`
 --> coaster/src/frameworks/opencl/device.rs:6:5
  |
6 | use hardware::{HardwareType, IHardware};
  |     ^^^^^^^^ help: a similar path exists: `crate::hardware`
  |
  = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>

error[E0432]: unresolved import `operation`
 --> coaster/src/frameworks/opencl/kernel.rs:4:5
  |
4 | use operation::IOperation;
  |     ^^^^^^^^^ help: a similar path exists: `crate::operation`
  |
  = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>

error[E0432]: unresolved import `binary`
 --> coaster/src/frameworks/opencl/program.rs:4:5
  |
4 | use binary::IBinary;
  |     ^^^^^^ help: a similar path exists: `crate::binary`
  |
  = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>

error[E0432]: unresolved import `frameworks`
   --> coaster/src/lib.rs:215:13
    |
215 |     pub use frameworks::OpenCL;
    |             ^^^^^^^^^^ help: a similar path exists: `crate::frameworks`
    |
    = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>

error[E0432]: unresolved import `self::memory::MemoryFlags`
  --> coaster/src/frameworks/opencl/mod.rs:15:32
   |
15 | pub use self::memory::{Memory, MemoryFlags};
   |                                ^^^^^^^^^^^ no `MemoryFlags` in `frameworks::opencl::memory`

error[E0432]: unresolved import `self::queue::QueueFlags`
  --> coaster/src/frameworks/opencl/mod.rs:18:30
   |
18 | pub use self::queue::{Queue, QueueFlags};
   |                              ^^^^^^^^^^ no `QueueFlags` in `frameworks::opencl::queue`

error[E0432]: unresolved import `device`
 --> coaster/src/frameworks/opencl/context.rs:6:5
  |
6 | use device::Error as DeviceError;
  |     ^^^^^^ help: a similar path exists: `crate::device`
  |
  = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
 --> coaster/src/frameworks/opencl/context.rs:9:5
  |
9 | use frameworks::native::device::Cpu;
  |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0433]: failed to resolve: use of undeclared crate or module `frameworks`
  --> coaster/src/frameworks/opencl/context.rs:11:5
   |
11 | use frameworks::native::flatbox::FlatBox;
   |     ^^^^^^^^^^ use of undeclared crate or module `frameworks`

error[E0432]: unresolved import `device`
 --> coaster/src/frameworks/opencl/context.rs:7:5
  |
7 | use device::{IDevice, MemorySync};
  |     ^^^^^^ help: a similar path exists: `crate::device`
  |
  = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>

error[E0432]: unresolved import `device`
 --> coaster/src/frameworks/opencl/memory.rs:5:5
  |
5 | use device::IMemory;
  |     ^^^^^^ help: a similar path exists: `crate::device`
  |
  = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>

error: cannot find macro `lazy_static` in this scope
   --> coaster/src/frameworks/opencl/api/platform.rs:25:9
    |
25  |         lazy_static! {
    |         ^^^^^^^^^^^
    |
    = note: consider importing this macro:
            lazy_static::lazy_static
note: `lazy_static` is imported here, but it is a crate, not a macro
   --> coaster/src/lib.rs:150:1
    |
150 | extern crate lazy_static;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find macro `enum_from_primitive` in this scope
  --> coaster/src/frameworks/opencl/api/types.rs:79:1
   |
79 | enum_from_primitive! {
   | ^^^^^^^^^^^^^^^^^^^
   |
   = note: consider importing this macro:
           enum_primitive::enum_from_primitive

error: cannot find macro `lazy_static` in this scope
   --> coaster/src/frameworks/opencl/device.rs:241:9
    |
241 |         lazy_static! {
    |         ^^^^^^^^^^^
    |
    = note: consider importing this macro:
            lazy_static::lazy_static
note: `lazy_static` is imported here, but it is a crate, not a macro
   --> coaster/src/lib.rs:150:1
    |
150 | extern crate lazy_static;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^

error: cannot find macro `bitflags` in this scope
   --> coaster/src/frameworks/opencl/memory.rs:37:1
    |
37  | bitflags! {
    | ^^^^^^^^
    |
    = note: consider importing this macro:
            bitflags::bitflags
note: `bitflags` is imported here, but it is a crate, not a macro
   --> coaster/src/lib.rs:148:1
    |
148 | extern crate bitflags;
    | ^^^^^^^^^^^^^^^^^^^^^^

error: cannot find macro `bitflags` in this scope
   --> coaster/src/frameworks/opencl/queue.rs:83:1
    |
83  | bitflags! {
    | ^^^^^^^^
    |
    = note: consider importing this macro:
            bitflags::bitflags
note: `bitflags` is imported here, but it is a crate, not a macro
   --> coaster/src/lib.rs:148:1
    |
148 | extern crate bitflags;
    | ^^^^^^^^^^^^^^^^^^^^^^

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/context.rs:66:39
   |
66 |             errcode if errcode == cl::Status::SUCCESS as i32 => Ok(context_id),
   |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/context.rs:67:39
   |
67 | ...   errcode if errcode == cl::Status::INVALID_PLATFORM as i32 => Err(Error::InvalidPlatform("properties is NULL and no platform could b...
   |                                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/context.rs:68:39
   |
68 | ...   errcode if errcode == cl::Status::INVALID_PROPERTY as i32 => Err(Error::InvalidProperty("context property name in propertiesis not ...
   |                                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/context.rs:69:39
   |
69 | ...   errcode if errcode == cl::Status::INVALID_VALUE as i32 => Err(Error::InvalidValue("devices is NULL or num_devices is equal to zero ...
   |                                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/context.rs:70:39
   |
70 |             errcode if errcode == cl::Status::INVALID_DEVICE as i32 => Err(Error::InvalidDevice("devices contains an invalid device.")),
   |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/context.rs:71:39
   |
71 | ...   errcode if errcode == cl::Status::DEVICE_NOT_AVAILABLE as i32 => Err(Error::DeviceNotAvailable("a device in devices is currently no...
   |                                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/context.rs:72:39
   |
72 | ...   errcode if errcode == cl::Status::OUT_OF_RESOURCES as i32 => Err(Error::OutOfResources("Failure to allocate resources on the device...
   |                                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/context.rs:73:39
   |
73 | ...   errcode if errcode == cl::Status::OUT_OF_HOST_MEMORY as i32 => Err(Error::OutOfHostMemory("Failure to allocate resources on the hos...
   |                                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/context.rs:193:17
    |
193 |             cl::Status::SUCCESS => Ok(()),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/context.rs:194:17
    |
194 |             cl::Status::INVALID_CONTEXT => Err(Error::InvalidContext("Invalid context")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/context.rs:195:17
    |
195 |             cl::Status::INVALID_VALUE => Err(Error::InvalidValue("Invalid value")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/context.rs:196:17
    |
196 |             cl::Status::OUT_OF_RESOURCES => Err(Error::OutOfResources("Out of resources")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/context.rs:197:17
    |
197 |             cl::Status::OUT_OF_HOST_MEMORY => Err(Error::OutOfHostMemory("Out of host memory")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/context.rs:220:17
    |
220 |             cl::Status::SUCCESS => Ok(()),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/context.rs:221:17
    |
221 |             cl::Status::INVALID_CONTEXT => Err(Error::InvalidContext("Invalid context")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/context.rs:222:17
    |
222 |             cl::Status::INVALID_VALUE => Err(Error::InvalidValue("Invalid value")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/context.rs:223:17
    |
223 |             cl::Status::OUT_OF_RESOURCES => Err(Error::OutOfResources("Out of resources")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/context.rs:224:17
    |
224 |             cl::Status::OUT_OF_HOST_MEMORY => Err(Error::OutOfHostMemory("Out of host memory")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/device.rs:90:17
   |
90 |             cl::Status::SUCCESS => Ok(()),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/device.rs:91:17
   |
91 |             cl::Status::INVALID_PLATFORM => {
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/device.rs:94:17
   |
94 |             cl::Status::INVALID_DEVICE_TYPE => Err(Error::InvalidDeviceType(
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/device.rs:97:17
   |
97 |             cl::Status::DEVICE_NOT_FOUND => {
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/device.rs:100:17
    |
100 |             cl::Status::OUT_OF_RESOURCES => Err(Error::OutOfResources(
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/device.rs:103:17
    |
103 |             cl::Status::OUT_OF_HOST_MEMORY => Err(Error::OutOfHostMemory(
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/device.rs:124:17
    |
124 |             cl::Status::SUCCESS => Ok(()),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/device.rs:125:17
    |
125 |             cl::Status::INVALID_VALUE => Err(Error::InvalidValue(
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/device.rs:128:17
    |
128 |             cl::Status::OUT_OF_RESOURCES => Err(Error::OutOfResources(
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/device.rs:131:17
    |
131 |             cl::Status::OUT_OF_HOST_MEMORY => Err(Error::OutOfHostMemory(
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:119:39
    |
119 |             errcode if errcode == cl::Status::SUCCESS as i32 => Ok(memory_id),
    |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:120:39
    |
120 |             errcode if errcode == cl::Status::INVALID_CONTEXT as i32 => Err(Error::InvalidContext("context is not a valid context.")),
    |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:121:39
    |
121 |             errcode if errcode == cl::Status::INVALID_VALUE as i32 => Err(Error::InvalidValue("values specified in flags are not valid")),
    |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:122:39
    |
122 |             errcode if errcode == cl::Status::INVALID_BUFFER_SIZE as i32 => Err(Error::InvalidBufferSize("size is 0^10")),
    |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:123:39
    |
123 | ...   errcode if errcode == cl::Status::INVALID_HOST_PTR as i32 => Err(Error::InvalidHostPtr("if host_ptr is NULL and CL_MEM_USE_HOST_PTR...
    |                                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:124:39
    |
124 | ...   errcode if errcode == cl::Status::MEM_OBJECT_ALLOCATION_FAILURE as i32 => Err(Error::MemObjectAllocationFailure("failure toallocate...
    |                                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:125:39
    |
125 | ...   errcode if errcode == cl::Status::OUT_OF_RESOURCES as i32 => Err(Error::OutOfResources("Failure to allocate resources on the device...
    |                                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:126:39
    |
126 | ...   errcode if errcode == cl::Status::OUT_OF_HOST_MEMORY as i32 => Err(Error::OutOfHostMemory("Failure to allocate resources on the hos...
    |                                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:133:17
    |
133 |             cl::Status::SUCCESS => Ok(()),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:134:17
    |
134 |             cl::Status::INVALID_MEM_OBJECT => Err(Error::InvalidMemObject(
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:137:17
    |
137 |             cl::Status::OUT_OF_RESOURCES => Err(Error::OutOfResources(
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:140:17
    |
140 |             cl::Status::OUT_OF_HOST_MEMORY => Err(Error::OutOfHostMemory(
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:159:17
    |
159 |             cl::Status::SUCCESS => Ok(()),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:160:17
    |
160 |             cl::Status::INVALID_COMMAND_QUEUE => Err(Error::InvalidCommandQueue("command_queue is not a valid command-queue")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:161:17
    |
161 | ...   cl::Status::INVALID_CONTEXT => Err(Error::InvalidContext("the context associated with command_queue and buffer are not the same or ...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:162:17
    |
162 |             cl::Status::INVALID_MEM_OBJECT => Err(Error::InvalidMemObject("buffer is not a valid memory object.")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:163:17
    |
163 | ...   cl::Status::INVALID_VALUE => Err(Error::InvalidValue("the region being read or written specified by (offset, size) is out of bounds...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:164:17
    |
164 | ...   cl::Status::INVALID_EVENT_WAIT_LIST => Err(Error::InvalidEventWaitList("event_wait_list is NULL and num_events_in_wait_list > 0, or...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:165:17
    |
165 | ...   cl::Status::MISALIGNED_SUB_BUFFER_OFFSET => Err(Error::MisalignedSubBufferOffset("buffer is a sub-buffer object and offsetspecified...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:166:17
    |
166 | ...   cl::Status::EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST => Err(Error::ExecStatusErrorForEventsInWaitList("the read and write operatio...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:167:17
    |
167 | ...   cl::Status::MEM_OBJECT_ALLOCATION_FAILURE => Err(Error::MemObjectAllocationFailure("there is a failure to allocate memory fordata s...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:168:17
    |
168 | ...   cl::Status::INVALID_OPERATION => Err(Error::InvalidOperation("called on buffer which has been created with CL_MEM_HOST_WRITE_ONLY o...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:169:17
    |
169 |             cl::Status::OUT_OF_RESOURCES => Err(Error::OutOfResources("Failure to allocate resources on the device")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:170:17
    |
170 |             cl::Status::OUT_OF_HOST_MEMORY => Err(Error::OutOfHostMemory("Failure to allocate resources on the host")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:187:17
    |
187 |             cl::Status::SUCCESS => Ok(()),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:188:17
    |
188 |             cl::Status::INVALID_COMMAND_QUEUE => Err(Error::InvalidCommandQueue("command_queue is not a valid command-queue")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:189:17
    |
189 | ...   cl::Status::INVALID_CONTEXT => Err(Error::InvalidContext("the context associated with command_queue and buffer are not the same or ...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:190:17
    |
190 |             cl::Status::INVALID_MEM_OBJECT => Err(Error::InvalidMemObject("buffer is not a valid memory object.")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:191:17
    |
191 | ...   cl::Status::INVALID_VALUE => Err(Error::InvalidValue("the region being read or written specified by (offset, size) is out of bounds...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:192:17
    |
192 | ...   cl::Status::INVALID_EVENT_WAIT_LIST => Err(Error::InvalidEventWaitList("event_wait_list is NULL and num_events_in_wait_list > 0, or...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:193:17
    |
193 | ...   cl::Status::MEM_OBJECT_ALLOCATION_FAILURE => Err(Error::MemObjectAllocationFailure("there is a failure to allocate memory fordata s...
    |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
   --> coaster/src/frameworks/opencl/api/memory.rs:194:17
    |
194 |             cl::Status::OUT_OF_HOST_MEMORY => Err(Error::OutOfHostMemory("Failure to allocate resources on the host")),
    |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/platform.rs:49:17
   |
49 |             cl::Status::SUCCESS => Ok(()),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/platform.rs:50:17
   |
50 | ...   cl::Status::INVALID_VALUE => Err(Error::InvalidValue("`num_entries` is equal to zero and `platforms` is not NULL or if both `num_pl...
   |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/platform.rs:51:17
   |
51 |             cl::Status::OUT_OF_HOST_MEMORY => Err(Error::OutOfHostMemory("Failure to allocate resources on the host")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:41:39
   |
41 |             errcode if errcode == cl::Status::SUCCESS as i32 => Ok(queue_id),
   |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:42:39
   |
42 |             errcode if errcode == cl::Status::INVALID_CONTEXT as i32 => {
   |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:45:39
   |
45 |             errcode if errcode == cl::Status::INVALID_DEVICE as i32 => {
   |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:48:39
   |
48 |             errcode if errcode == cl::Status::INVALID_VALUE as i32 => Err(Error::InvalidValue(
   |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:51:39
   |
51 |             errcode if errcode == cl::Status::INVALID_QUEUE_PROPERTIES as i32 => {
   |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:56:39
   |
56 |             errcode if errcode == cl::Status::OUT_OF_HOST_MEMORY as i32 => Err(
   |                                       ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:65:17
   |
65 |             cl::Status::SUCCESS => Ok(()),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:66:17
   |
66 |             cl::Status::INVALID_COMMAND_QUEUE => Err(Error::InvalidCommandQueue(
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:85:17
   |
85 |             cl::Status::SUCCESS => Ok(()),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:86:17
   |
86 |             cl::Status::INVALID_COMMAND_QUEUE => Err(Error::InvalidCommandQueue("command_queue is not a valid command-queue")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:87:17
   |
87 | ...   cl::Status::INVALID_CONTEXT => Err(Error::InvalidContext("the context associated with command_queue and buffer are not the same or ...
   |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:88:17
   |
88 |             cl::Status::INVALID_KERNEL => Err(Error::InvalidKernel("kernel is not a valid kernel object")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:89:17
   |
89 |             cl::Status::INVALID_KERNEL_ARGS => Err(Error::InvalidKernelArgs("if the kernel argument values have not been specified")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:90:17
   |
90 |             cl::Status::INVALID_WORK_DIMENSION => Err(Error::InvalidWorkDimension("work_dim is not a valid value")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:91:17
   |
91 |             cl::Status::INVALID_WORK_GROUP_SIZE => Err(Error::InvalidWorkGroupSize("xx1")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:92:17
   |
92 |             cl::Status::INVALID_WORK_ITEM_SIZE => Err(Error::InvalidWorkItemSize("xx2")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:93:17
   |
93 |             cl::Status::INVALID_GLOBAL_OFFSET => Err(Error::InvalidGlobalOffset("xx3")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:94:17
   |
94 |             cl::Status::INVALID_EVENT_WAIT_LIST => Err(Error::InvalidEventWaitList("xx4")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:95:17
   |
95 | ...   cl::Status::MEM_OBJECT_ALLOCATION_FAILURE => Err(Error::MemObjectAllocationFailure("there is a failure to allocate memory fordata s...
   |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:96:17
   |
96 | ...   cl::Status::INVALID_OPERATION => Err(Error::InvalidOperation("called on buffer which has been created with CL_MEM_HOST_WRITE_ONLY o...
   |           ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:97:17
   |
97 |             cl::Status::OUT_OF_RESOURCES => Err(Error::OutOfResources("Failure to allocate resources on the device")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: could not find `Status` in `cl`
  --> coaster/src/frameworks/opencl/api/queue.rs:98:17
   |
98 |             cl::Status::OUT_OF_HOST_MEMORY => Err(Error::OutOfHostMemory("Failure to allocate resources on the host")),
   |                 ^^^^^^ could not find `Status` in `cl`

error[E0433]: failed to resolve: use of undeclared type `MemoryFlags`
  --> coaster/src/frameworks/opencl/memory.rs:29:39
   |
29 |         if self.memory_flags.contains(MemoryFlags::MEM_USE_HOST_PTR) {
   |                                       ^^^^^^^^^^^ use of undeclared type `MemoryFlags`

error[E0433]: failed to resolve: use of undeclared type `MemoryFlags`
  --> coaster/src/frameworks/opencl/memory.rs:50:9
   |
50 |         MemoryFlags::MEM_READ_WRITE
   |         ^^^^^^^^^^^ use of undeclared type `MemoryFlags`

error[E0433]: failed to resolve: could not find `framework` in the list of imported crates
  --> coaster/src/frameworks/opencl/mod.rs:63:50
   |
63 |     fn load_hardwares() -> Result<Vec<Device>, ::framework::Error> {
   |                                                  ^^^^^^^^^ could not find `framework` in the list of imported crates

error[E0433]: failed to resolve: could not find `framework` in the list of imported crates
  --> coaster/src/frameworks/opencl/mod.rs:90:69
   |
90 |     fn new_device(&self, hardwares: &[Device]) -> Result<Self::D, ::framework::Error> {
   |                                                                     ^^^^^^^^^ could not find `framework` in the list of imported crates

error[E0412]: cannot find type `Status` in module `cl`
  --> coaster/src/frameworks/opencl/api/ffi.rs:20:14
   |
20 |     ) -> cl::Status;
   |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
  --> coaster/src/frameworks/opencl/api/ffi.rs:28:14
   |
28 |     ) -> cl::Status;
   |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
  --> coaster/src/frameworks/opencl/api/ffi.rs:37:14
   |
37 |     ) -> cl::Status;
   |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
  --> coaster/src/frameworks/opencl/api/ffi.rs:45:14
   |
45 |     ) -> cl::Status;
   |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
  --> coaster/src/frameworks/opencl/api/ffi.rs:75:60
   |
75 |     pub fn clRetainContext(context: cl::context_id) -> cl::Status;
   |                                                            ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
  --> coaster/src/frameworks/opencl/api/ffi.rs:77:61
   |
77 |     pub fn clReleaseContext(context: cl::context_id) -> cl::Status;
   |                                                             ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
  --> coaster/src/frameworks/opencl/api/ffi.rs:85:14
   |
85 |     ) -> cl::Status;
   |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
  --> coaster/src/frameworks/opencl/api/ffi.rs:95:69
   |
95 |     pub fn clRetainCommandQueue(command_queue: cl::queue_id) -> cl::Status;
   |                                                                     ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
  --> coaster/src/frameworks/opencl/api/ffi.rs:97:70
   |
97 |     pub fn clReleaseCommandQueue(command_queue: cl::queue_id) -> cl::Status;
   |                                                                      ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:105:14
    |
105 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:150:60
    |
150 |     pub fn clRetainMemObject(memobj: cl::memory_id) -> cl::Status;
    |                                                            ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:152:61
    |
152 |     pub fn clReleaseMemObject(memobj: cl::memory_id) -> cl::Status;
    |                                                             ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:161:14
    |
161 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:169:14
    |
169 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:177:14
    |
177 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:183:14
    |
183 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:194:57
    |
194 |     pub fn clRetainSampler(sampler: cl::sampler) -> cl::Status;
    |                                                         ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:204:14
    |
204 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:225:57
    |
225 |     pub fn clRetainProgram(program: cl::program) -> cl::Status;
    |                                                         ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:227:58
    |
227 |     pub fn clReleaseProgram(program: cl::program) -> cl::Status;
    |                                                          ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:236:14
    |
236 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:238:38
    |
238 |     pub fn clUnloadCompiler() -> cl::Status;
    |                                      ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:246:14
    |
246 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:255:14
    |
255 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:269:14
    |
269 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:271:57
    |
271 |     pub fn clRetainKernel(kernel: cl::kernel_id) -> cl::Status;
    |                                                         ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:273:58
    |
273 |     pub fn clReleaseKernel(kernel: cl::kernel_id) -> cl::Status;
    |                                                          ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:280:14
    |
280 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:288:14
    |
288 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:297:14
    |
297 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:300:87
    |
300 |     pub fn clWaitForEvents(num_events: cl::uint, event_list: *const cl::event) -> cl::Status;
    |                                                                                       ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:308:14
    |
308 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:312:51
    |
312 |     pub fn clRetainEvent(event: cl::event) -> cl::Status;
    |                                                   ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:314:52
    |
314 |     pub fn clReleaseEvent(event: cl::event) -> cl::Status;
    |                                                    ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:316:85
    |
316 |     pub fn clSetUserEventStatus(event: cl::event, execution_status: cl::int) -> cl::Status;
    |                                                                                     ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:323:14
    |
323 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:332:14
    |
332 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:335:56
    |
335 |     pub fn clFlush(command_queue: cl::queue_id) -> cl::Status;
    |                                                        ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:337:57
    |
337 |     pub fn clFinish(command_queue: cl::queue_id) -> cl::Status;
    |                                                         ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:350:14
    |
350 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:367:14
    |
367 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:379:14
    |
379 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:395:14
    |
395 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:407:14
    |
407 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:423:14
    |
423 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:437:14
    |
437 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:451:14
    |
451 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:463:14
    |
463 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:475:14
    |
475 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:487:14
    |
487 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:524:14
    |
524 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:536:14
    |
536 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:544:14
    |
544 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:557:14
    |
557 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:559:87
    |
559 |     pub fn clEnqueueMarker(command_queue: cl::queue_id, event: *mut cl::event) -> cl::Status;
    |                                                                                       ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:565:14
    |
565 |     ) -> cl::Status;
    |              ^^^^^^ not found in `cl`

error[E0412]: cannot find type `Status` in module `cl`
   --> coaster/src/frameworks/opencl/api/ffi.rs:567:65
    |
567 |     pub fn clEnqueueBarrier(command_queue: cl::queue_id) -> cl::Status;
    |                                                                 ^^^^^^ not found in `cl`

error[E0425]: cannot find value `PLATFORM_MUTEX` in this scope
  --> coaster/src/frameworks/opencl/api/platform.rs:29:21
   |
29 |         let guard = PLATFORM_MUTEX.lock();
   |                     ^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `Status` in this scope
   --> coaster/src/frameworks/opencl/api/types.rs:138:23
    |
138 | impl fmt::Display for Status {
    |                       ^^^^^^ not found in this scope

error[E0425]: cannot find value `VERSION_RE` in this scope
   --> coaster/src/frameworks/opencl/device.rs:246:20
    |
246 |         for cap in VERSION_RE.captures_iter(version_string.as_str()) {
    |                    ^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `MemoryFlags` in this scope
  --> coaster/src/frameworks/opencl/memory.rs:13:19
   |
13 |     memory_flags: MemoryFlags,
   |                   ^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `MemoryFlags` in this scope
  --> coaster/src/frameworks/opencl/memory.rs:48:18
   |
48 | impl Default for MemoryFlags {
   |                  ^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `MemoryFlags` in this scope
  --> coaster/src/frameworks/opencl/memory.rs:49:21
   |
49 |     fn default() -> MemoryFlags {
   |                     ^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `QueueFlags` in this scope
  --> coaster/src/frameworks/opencl/queue.rs:34:30
   |
27 | impl Queue {
   |     - help: you might be missing a type parameter: `<QueueFlags>`
...
34 |         queue_flags: Option<&QueueFlags>,
   |                              ^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `QueueFlags` in this scope
  --> coaster/src/frameworks/opencl/queue.rs:93:18
   |
93 | impl Default for QueueFlags {
   |                  ^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `QueueFlags` in this scope
  --> coaster/src/frameworks/opencl/queue.rs:94:21
   |
94 |     fn default() -> QueueFlags {
   |                     ^^^^^^^^^^ not found in this scope

warning: unused import: `std::sync::Mutex`
 --> coaster/src/frameworks/opencl/api/platform.rs:9:5
  |
9 | use std::sync::Mutex;
  |     ^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `regex::Regex`
 --> coaster/src/frameworks/opencl/device.rs:9:5
  |
9 | use regex::Regex;
  |     ^^^^^^^^^^^^

error[E0433]: failed to resolve: use of undeclared type `MemoryFlags`
  --> coaster/src/frameworks/opencl/memory.rs:57:37
   |
57 |         API::create_buffer(context, MemoryFlags::default(), size, None)
   |                                     ^^^^^^^^^^^ use of undeclared type `MemoryFlags`

error[E0433]: failed to resolve: use of undeclared type `MemoryFlags`
  --> coaster/src/frameworks/opencl/memory.rs:67:27
   |
67 |             memory_flags: MemoryFlags::default(),
   |                           ^^^^^^^^^^^ use of undeclared type `MemoryFlags`

error[E0433]: failed to resolve: use of undeclared type `QueueFlags`
  --> coaster/src/frameworks/opencl/queue.rs:36:29
   |
36 |         let default_flags = QueueFlags::default();
   |                             ^^^^^^^^^^ use of undeclared type `QueueFlags`

error[E0433]: failed to resolve: use of undeclared type `QueueFlags`
  --> coaster/src/frameworks/opencl/queue.rs:95:9
   |
95 |         QueueFlags::empty()
   |         ^^^^^^^^^^ use of undeclared type `QueueFlags`

Some errors have detailed explanations: E0412, E0425, E0432, E0433.
For more information about an error, try `rustc --explain E0412`.
warning: `coaster` (lib) generated 2 warnings
error: could not compile `coaster` due to 187 previous errors; 2 warnings emitted
warning: build failed, waiting for other jobs to finish...
Brandons-MacBook-Air:juice-examples brandonros 2023-02-06 15:08:05 $                                                                                                                                                                                                       

brandonros avatar Feb 06 '23 20:02 brandonros

The openly backend has stalled impl wise, but really could be picked up easily.

That said, it's untested what the feature flag does.

drahnr avatar Feb 06 '23 20:02 drahnr