mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-12 09:16:52 +00:00
Add a docker hub doc file (#538)
This commit is contained in:
93
doc/markdown/dockerhub.md
Normal file
93
doc/markdown/dockerhub.md
Normal file
@@ -0,0 +1,93 @@
|
||||
## CK docker hub
|
||||
|
||||
[Docker hub](https://hub.docker.com/r/rocm/composable_kernel)
|
||||
|
||||
## Why do I need this?
|
||||
|
||||
To make our lives easier and bring Composable Kernel dependencies together, we recommend using docker images.
|
||||
|
||||
## So what is Composable Kernel?
|
||||
|
||||
Composable Kernel (CK) library aims to provide a programming model for writing performance critical kernels for machine learning workloads across multiple architectures including GPUs, CPUs, etc, through general purpose kernel languages, like HIP C++.
|
||||
|
||||
To get the CK library
|
||||
|
||||
```
|
||||
git clone https://github.com/ROCmSoftwarePlatform/composable_kernel.git
|
||||
```
|
||||
|
||||
run a docker container
|
||||
|
||||
```
|
||||
docker run \
|
||||
-it \
|
||||
--privileged \
|
||||
--group-add sudo \
|
||||
-w /root/workspace \
|
||||
-v ${PATH_TO_LOCAL_WORKSPACE}:/root/workspace \
|
||||
rocm/composable_kernel:ck_ub20.04_rocm5.3_release \
|
||||
/bin/bash
|
||||
```
|
||||
|
||||
and build the CK
|
||||
|
||||
```
|
||||
mkdir build && cd build
|
||||
|
||||
# Need to specify target ID, example below is for gfx908 and gfx90a
|
||||
cmake \
|
||||
-D CMAKE_PREFIX_PATH=/opt/rocm \
|
||||
-D CMAKE_CXX_COMPILER=/opt/rocm/bin/hipcc \
|
||||
-D CMAKE_CXX_FLAGS="-O3" \
|
||||
-D CMAKE_BUILD_TYPE=Release \
|
||||
-D GPU_TARGETS="gfx908;gfx90a" \
|
||||
..
|
||||
```
|
||||
|
||||
and
|
||||
|
||||
```
|
||||
make -j examples tests
|
||||
```
|
||||
|
||||
To run all the test cases including tests and examples run
|
||||
|
||||
```
|
||||
make test
|
||||
```
|
||||
|
||||
We can also run specific examples or tests like
|
||||
|
||||
```
|
||||
./bin/example_gemm_xdl_fp16
|
||||
./bin/test_gemm_fp16
|
||||
```
|
||||
|
||||
For more details visit [CK github repo](https://github.com/ROCmSoftwarePlatform/composable_kernel), [CK examples](https://github.com/ROCmSoftwarePlatform/composable_kernel/tree/develop/example), [even more CK examples](https://github.com/ROCmSoftwarePlatform/composable_kernel/tree/develop/client_example).
|
||||
|
||||
## And what is inside?
|
||||
|
||||
The docker images have everything you need for running CK including:
|
||||
|
||||
* [ROCm](https://www.amd.com/en/graphics/servers-solutions-rocm)
|
||||
* [CMake](https://cmake.org/)
|
||||
* [Compiler](https://github.com/RadeonOpenCompute/llvm-project)
|
||||
|
||||
## Which image is right for me?
|
||||
|
||||
Let's take a look at the image naming, for example "ck_ub20.04_rocm5.4_release". The image specs are:
|
||||
|
||||
* "ck" - made for running Composable Kernel
|
||||
* "ub20.04" - based on Ubuntu 20.04
|
||||
* "rocm5.4" - ROCm platform version 5.4
|
||||
* "release" - compiler version is release
|
||||
|
||||
So just pick the right image for your project dependencies and you're all set.
|
||||
|
||||
## DIY starts here
|
||||
|
||||
If you need to customize a docker image or just can't stop tinkering, feel free to adjust the [Dockerfile](https://github.com/ROCmSoftwarePlatform/composable_kernel/blob/develop/Dockerfile) for your needs.
|
||||
|
||||
## License
|
||||
|
||||
CK is released under the MIT [license](https://github.com/ROCmSoftwarePlatform/composable_kernel/blob/develop/LICENSE).
|
||||
Reference in New Issue
Block a user