Python is not a single solution for every problem. We’re already slower than the world. Develop differently!
A while ago I had an idea of using Vulkan in AI and ML learning, because I think it’s possible and suitable. Then I started to realize that it’s actually a good path. Let’s see why when reading about my idea below and some references from big companies worldwide.
You can use graphics API instead of OpenCL/CUDA to implement GPU-accelerated machine learning algorithm. Vulkan/Direct3D12’s compute shader capabilities are as mature as OpenCL/CUDA, especially Vulkan now can run on most platforms, even works well on Mobile (Android/iOS).
Some benefits of using graphics API in AI development:
- Integrated image processing with GPU’s programmable pipeline. While with traditional GPU compute API you must write image functions manually, transforming pixel by pixel. Vulkan already understands your image and GLSL shader have many built-in image manipulation methods. You’ll have bigger and more convenient image processing libraries.
- Better visualization: you take your GPU data and render directly to the screen, in 2D or even 3D to see how your AI behaves in real-time
- Rich tools: debugging will be easier with graphics debugging tool, you capture and inspect your real-time AI frame by frame, detect bottlenecks, GPU wait, … to improve your AI power
Using API like Vulkan alone is already a boost for your AI, but there’s more. Companies like NVIDIA will make it even better for us. Recently a blog post has been published by NVIDIA engineers, instructing you to speed up neural network training time using a Vulkan extension. Read it here.
I know that this idea is still new to you, but it really opens up many chances in the field. Anyways we at PRIME-tech ourselves are researching multiple “Vulkan for AI” topics and will show you more details in the future. One of our targets is to pioneer for true technology development in Vietnam.