|
1 | 1 | use rustorch_core::{Tensor, Storage}; |
2 | | -use vulkano::device::{Device, DeviceExtensions, Queue, DeviceCreateInfo, QueueCreateInfo}; |
| 2 | +use vulkano::device::{Device, Queue, DeviceCreateInfo, QueueCreateInfo, QueueFlags}; |
3 | 3 | use vulkano::instance::{Instance, InstanceCreateInfo, InstanceExtensions}; |
4 | 4 | use vulkano::memory::allocator::{StandardMemoryAllocator, AllocationCreateInfo, MemoryTypeFilter}; |
5 | 5 | use vulkano::buffer::{Buffer, BufferCreateInfo, BufferUsage}; |
@@ -40,7 +40,7 @@ impl VulkanContext { |
40 | 40 | let queue_family_index = physical_device |
41 | 41 | .queue_family_properties() |
42 | 42 | .iter() |
43 | | - .position(|q| q.queue_flags.compute) |
| 43 | + .position(|q| q.queue_flags.intersects(QueueFlags::COMPUTE)) |
44 | 44 | .context("No compute queue family found")? as u32; |
45 | 45 |
|
46 | 46 | let (device, mut queues) = Device::new( |
@@ -82,7 +82,7 @@ impl VulkanContext { |
82 | 82 | data.iter().cloned(), |
83 | 83 | ).context("Failed to create buffer")?; |
84 | 84 |
|
85 | | - let storage = Storage::new_vulkan(buffer, 0); |
| 85 | + let storage = Storage::new_vulkan(Arc::new(buffer), 0); |
86 | 86 | Ok(Tensor::new_with_storage(storage, shape)) |
87 | 87 | } |
88 | 88 | } |
|
0 commit comments