diff --git a/README.md b/README.md index f5e55943..663bd85a 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Optional: Run the steps below to build documentation locally. -```shell +```bash cd docs pip3 install -r .sphinx/requirements.txt @@ -38,15 +38,36 @@ python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html ## Currently supported -Operations - Contraction Tensor -Data Types - FP32 , FP64 +### Operations - Contraction Tensor + +Supported data-type combinations are: + +| typeA | typeB | typeC | typeCompute | notes | +|-----------|-----------|-----------|-----------------|----------------------------------| +| bf16 | bf16 | bf16 | f32 | | +| __half | __half | __half | f32 | | +| f32 | f32 | f32 | bf16 | | +| f32 | f32 | f32 | __half | | +| f32 | f32 | f32 | f32 | | +| f64 | f64 | f64 | f32 | f64 is supported only on gfx90 + | +| f64 | f64 | f64 | f64 | f64 is supported only on gfx90 + | + +### Operations - Permutation Tensor + +Supported data-type combinations are: + +| typeA | typeB | descCompute | notes | +|-----------|-----------|-----------------|-------| +| f16 | f16 | f16 | | +| f16 | f16 | f32 | | +| f32 | f32 | f32 | | ## Contributing to the code 1. Create and track a hipTensor fork. 2. Clone your fork: -```shell +```bash git clone -b develop https://github.com//hipTensor.git . .githooks/install git checkout -b @@ -69,22 +90,22 @@ git push origin ### Project options -|Option|Description|Default Value| -|---|---|---| -|AMDGPU_TARGETS|Build code for specific GPU target(s)|gfx908:xnack-;gfx90a:xnack-;gfx90a:xnack+;gfx940;gfx941;gfx942| -|HIPTENSOR_BUILD_TESTS|Build Tests|ON| -|HIPTENSOR_BUILD_SAMPLES|Build Samples|ON| +| Option | Description | Default Value | +|-------------------------|---------------------------------------|----------------------------------------------------------------| +| AMDGPU_TARGETS | Build code for specific GPU target(s) | gfx908:xnack-;gfx90a:xnack-;gfx90a:xnack+;gfx940;gfx941;gfx942 | +| HIPTENSOR_BUILD_TESTS | Build Tests | ON | +| HIPTENSOR_BUILD_SAMPLES | Build Samples | ON | ### Example configurations By default, the project is configured as Release mode. Here are some of the examples for the configuration: -|Configuration|Command| -|---|---| -|Basic|`CC=hipcc CXX=hipcc cmake -B .`| -|Targeting gfx908|`CC=hipcc CXX=hipcc cmake -B . -DAMDGPU_TARGETS=gfx908:xnack-` | -|Debug build|`CC=hipcc CXX=hipcc cmake -B . -DCMAKE_BUILD_TYPE=Debug` | -|Build without tests (default on)|`CC=hipcc CXX=hipcc cmake -B . -DHIPTENSOR_BUILD_TESTS=OFF` | +| Configuration | Command | +|----------------------------------|---------------------------------------------------------------------------| +| Basic | `CC=hipcc CXX=hipcc cmake -B .` | +| Targeting gfx908 | `CC=hipcc CXX=hipcc cmake -B . -DAMDGPU_TARGETS=gfx908:xnack-` | +| Debug build | `CC=hipcc CXX=hipcc cmake -B . -DCMAKE_BUILD_TYPE=Debug` | +| Build without tests (default on) | `CC=hipcc CXX=hipcc cmake -B . -DHIPTENSOR_BUILD_TESTS=OFF` | After configuration, build with `cmake --build -- -j` @@ -98,40 +119,63 @@ After configuration, build with `cmake --build -- -j` ### Logger tests Tests API implementation of logger verbosity and functionality. -o /bin/logger_test +```bash + /bin/logger_test +``` ## Running Contraction Tests ### Bilinear contraction tests Tests the API implementation of bilinear contraction algorithm with validation. -o /bin/bilinear_contraction_f32_test -o /bin/bilinear_contraction_f64_test +```bash + /bin/bilinear_contraction_test +``` ### Scale contraction tests Tests the API implementation of scale contraction algorithm with validation. -o /bin/scale_contraction_f32_test -o /bin/scale_contraction_f64_test +```bash + /bin/scale_contraction_test +``` -### Samples +## Running Permutation Tests + +### Permutation tests +Tests API implementation of permutation algorithm with validation. +```bash + /bin/permutation_test +``` + +## Samples These are stand-alone use-cases of the hipTensor contraction operations. -## F32 Bilinear contraction +### F32 Bilinear contraction Demonstrates the API implementation of bilinear contraction operation without validation. -o /bin/simple_contraction_bilinear_f32 +```bash + /bin/simple_bilinear_contraction_____compute_ +``` -## F32 Scale contraction +### F32 Scale contraction Demonstrates the API implementation of scale contraction operation without validation. -o /bin/simple_contraction_scale_f32 +```bash + /bin/simple_scale_contraction____compute_ +``` + +### Permutation + +Demonstrates the API implementation of permutation operation without validation. +```bash + /bin/simple_permutation +``` ### Build Samples as external client -Client application links to hipTensor library, -and therefore hipTensor library needs to be installed before building client applications. +Client application links to hipTensor library, and therefore hipTensor library +needs to be installed before building client applications. ## Build