Updated readme
This commit is contained in:
parent
db03a4bacf
commit
6c31c17c17
1 changed files with 10 additions and 9 deletions
19
README.md
19
README.md
|
|
@ -40,7 +40,6 @@
|
|||
|
||||

|
||||
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Setup
|
||||
|
|
@ -98,6 +97,16 @@ int main() {
|
|||
}
|
||||
```
|
||||
|
||||
## Motivations
|
||||
|
||||
This project started after seeing that a lot of new and renowned ML & DL projects like Pytorch, Tensorflow, Alibaba DNN, between others, have either integrated or are looking to integrate the Vulkan GPU SDK to add mobile GPU (and cross-vendor GPU) support.
|
||||
|
||||
The Vulkan SDK offers a great low level interface that enables for highly specialized optimizations - however it comes at a cost of highly verbose code which requires 500-2000 lines of code to even begin writing application code. This has resulted in each of these projects having to implement the same baseline to abstract the non-compute related features of Vulkan, although it's not always the case, this can result in slower development cycles, and opportunities for bugs to be introduced.
|
||||
|
||||
We are currently developing Vulkan Kompute not to hide the Vulkan SDK interface (as it's incredibly well designed) but to augment it with a direct focus on Vulkan's GPU computing capabilities. [This article](https://medium.com/swlh/machine-learning-and-data-processing-in-the-gpu-with-vulkan-kompute-c9350e5e5d3a) provides a high level overview of the motivations of Kompute, together with a set of hands on examples that introduce both GPU computing as well as the core Vulkan Kompute architecture.
|
||||
|
||||
## More examples
|
||||
|
||||
Build your own pre-compiled operations for domain specific workflows.
|
||||
|
||||
We also provide tools that allow you to [convert shaders into C++ headers](https://github.com/EthicalML/vulkan-kompute/blob/master/scripts/convert_shaders.py#L40).
|
||||
|
|
@ -196,14 +205,6 @@ We cover more advanced examples and applications of Vulkan Kompute, such as mach
|
|||
You can find these in the advanced examples documentation section, such as the [logistic regression example](https://ethicalml.github.io/vulkan-kompute/overview/advanced-examples.html).
|
||||
|
||||
|
||||
## Motivations
|
||||
|
||||
Vulkan Kompute was created after identifying the challenge most GPU processing projects with Vulkan undergo - namely having to build extensive boilerplate for Vulkan and create abstractions and interfaces that expose the core compute capabilities. It is only after a few thousand lines of code that it's possible to start building the application-specific logic.
|
||||
|
||||
We believe Vulkan has an excellent design in its way to interact with the GPU, so by no means we aim to abstract or hide any complexity, but instead we want to provide a baseline of tools and interfaces that allow Vulkan Compute developers to focus on the higher level computational complexities of the application.
|
||||
|
||||
It is because of this that we have adopted development principles for the project that ensure the Vulkan API is augmented specifically for computation, whilst speeding development iterations and opening the doors to further use-cases.
|
||||
|
||||
## Components & Architecture
|
||||
|
||||
The core architecture of Kompute include the following:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue