# Rust ML WG Meeting 00005 ## Meeting Info Date: 20200623 Start time: 1600ET Zoom (Meeting ID: 940 7467 1258) * link: https://mozilla.zoom.us/j/94074671258 ## Agenda - Discuss collaborative library for doing `ndarray`-based convolution - Seems like an extremely common use-case that most people would probably otherwise need to re-implement from scratch - [`ocl-convolution`](https://github.com/slowli/ocl-convolution) does this with OpenCL-accelerated code, although examples for CPU-only aren't great - Updates on individual approaches and any new libraries - Has anyone looked at the `autograd` crate? It's pretty impressive, although the examples aren't completely working at the moment (bug report has been filed) ## Participants - Chris M - Geordan Worley - Jonathan Woolet-Light - Tiberio Ferreira - Alex H ## Minutes - Discussion about approaches for doing computation on GPU - Low-level w/Vulkan vs higher-level OpenCL - Pre-allocating space for all operations ahead of time can lead to benefits - Generally, the overhead between passing information between GPU and CPU is fairly high - cuBLAS and cuDNN performance considerations, with the work being done on `accel` - Discussion of high-level vs. low-level GPU API for linear algebra vs custom code approaches - JWL is using Vulkan - Performance differences between WebGPU and Vulkan based on command buffer allocation? - Saw autograd crate, which is a little more similar to Tensorflow - Interest in MKL operations and BLAS - `ndarray` already has mkl (?) - Comments on cross-platform opportunities on WebGPU, but lack of documentation makes it a difficult consideration - TbF's library with matrix multiplication, which can move into new shaders - https://github.com/tiberiusferreira/gpu_compute - Geordan has some existing convolutional work in the `mli` library ## Actions - Check if WebGPU supports command buffers - Tiberio will take a look - Benchmarks for estimating performance between GPU/BLAS linear algebra libraries - JWL requests some more eyes on his Vulkan issue at https://github.com/vulkano-rs/vulkano/issues/1389