# 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