Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add complex f32 f64 (release-staging/rocm-rel-6.1) #175

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
1f69024
Bump rocm-docs-core from 0.28.0 to 0.30.0 in /docs/.sphinx
dependabot[bot] Nov 30, 2023
d71dcad
Merge pull request #161 from ROCmSoftwarePlatform/dependabot/pip/docs…
cgmillette Dec 4, 2023
fc450d9
Rename sample of permutation
CongMa13 Nov 30, 2023
9c4c762
Add unittest to for the permute CPU implementation
CongMa13 Nov 20, 2023
bba3217
Bump gitpython from 3.1.35 to 3.1.37 in /docs/.sphinx
dependabot[bot] Dec 6, 2023
3f7a904
Bump urllib3 from 1.26.15 to 1.26.18 in /docs/.sphinx
dependabot[bot] Dec 6, 2023
23b46d6
Bump rocm-docs-core from 0.30.0 to 0.30.1 in /docs/.sphinx
dependabot[bot] Dec 7, 2023
0be15e6
Merge pull request #156 from CongMa13/permute_cpu_unit_test
CongMa13 Dec 7, 2023
852992e
Fix spelling in documentation (#155)
samjwu Dec 7, 2023
c5fbcec
Add support to f16 and bf16 to contraction
CongMa13 Nov 22, 2023
185a2ab
Add support to f32_f16, f32_bf16, f64_f32 to contraction
CongMa13 Nov 25, 2023
ab8d557
Add placeholder for solution unique_id
CongMa13 Nov 30, 2023
df27e32
Update contraction device instances
CongMa13 Dec 4, 2023
f85df83
Print C in sample output
CongMa13 Dec 4, 2023
5c45a8c
Set CK contraction instance only run once
CongMa13 Dec 5, 2023
f631818
Fixed a bug in CPU reference
CongMa13 Dec 5, 2023
e5cefe7
Add commnets
CongMa13 Dec 6, 2023
4345a1c
Rename contraction sameple files
CongMa13 Dec 6, 2023
43f33ee
Improve CPU reference accurary
CongMa13 Dec 6, 2023
fec9065
Add comments to explain how to pass alpha value
CongMa13 Dec 6, 2023
b21fe0b
Update CPU reference
CongMa13 Dec 7, 2023
8c11d59
Merge pull request #158 from CongMa13/contraction_f16_bf16
CongMa13 Dec 11, 2023
76de7d0
Remove xfloat32 which is not used in hiptensor
CongMa13 Dec 11, 2023
71ae65d
Merge pull request #166 from ROCm/dependabot/pip/docs/dot-sphinx/rocm…
cgmillette Dec 11, 2023
1dfaea7
Merge pull request #164 from ROCm/dependabot/pip/docs/dot-sphinx/urll…
cgmillette Dec 11, 2023
b88175f
Merge pull request #163 from ROCm/dependabot/pip/docs/dot-sphinx/gitp…
cgmillette Dec 11, 2023
53d687b
Merge pull request #169 from CongMa13/remove_xfloat32
CongMa13 Dec 12, 2023
28fe756
fix build warnings
parbenc Dec 12, 2023
c18335a
update doxyfile
parbenc Dec 12, 2023
7ac3fb9
Bump cryptography from 41.0.4 to 41.0.6 in /docs/.sphinx (#162)
dependabot[bot] Dec 12, 2023
b03e4f3
remove type traits, that sneaked back during rebase
parbenc Dec 13, 2023
ded69b9
remove unnecessary endcond
parbenc Dec 14, 2023
bcd81bd
Merge pull request #160 from StreamHPC/docs_fix
neon60 Dec 14, 2023
0b34d47
Bump rocm-docs-core from 0.30.1 to 0.30.2 in /docs/.sphinx (#171)
dependabot[bot] Dec 20, 2023
95af3c1
Bump rocm-docs-core from 0.30.2 to 0.30.3 in /docs/.sphinx
dependabot[bot] Dec 20, 2023
f5803f9
Merge pull request #173 from ROCm/dependabot/pip/docs/dot-sphinx/rocm…
cgmillette Dec 20, 2023
e41eda6
Standardize documentation for ReadtheDocs (#176)
samjwu Jan 2, 2024
7496442
Add API changes
mkarunan Dec 11, 2023
be8c0b5
Add compute types
mkarunan Dec 12, 2023
f6e39c1
Modify instance factory
mkarunan Dec 13, 2023
075cdfa
Enable complex f32
mkarunan Dec 15, 2023
1bf4a55
Add scalar and complex type instances
mkarunan Dec 20, 2023
b50a159
Add complex bilinear and scale structures
mkarunan Dec 21, 2023
b85aa93
Support complex alpha and beta in contraction
CongMa13 Dec 21, 2023
1b2031e
Modify base class compute type
mkarunan Dec 21, 2023
41c44b2
Modify cpu and gpu device instances for complex
mkarunan Dec 21, 2023
cf233d8
Add unit test of contraction with complex compute type
CongMa13 Dec 21, 2023
c01eda7
Modify samples to use new compute type
mkarunan Dec 22, 2023
23c033f
Support Complex alpha and beta in samples
CongMa13 Dec 22, 2023
48abe4a
Cleanup
mkarunan Dec 27, 2023
348e281
Set unit test difference threshold to epsilon of compute type
CongMa13 Dec 29, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
version: 2
updates:
- package-ecosystem: "pip" # See documentation for possible values
directory: "/docs/.sphinx" # Location of package manifests
directory: "/docs/sphinx" # Location of package manifests
open-pull-requests-limit: 10
schedule:
interval: "daily"
Expand Down
10 changes: 0 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,3 @@ build*
\#*\#
*~
*.log

# documentation artifacts
build/
_build/
_images/
_static/
_templates/
_toc.yml
docBin/
_doxygen/
6 changes: 2 additions & 4 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,9 @@ formats: [htmlzip, pdf, epub]

python:
install:
- requirements: docs/.sphinx/requirements.txt
- requirements: docs/sphinx/requirements.txt

build:
os: ubuntu-20.04
os: ubuntu-22.04
tools:
python: "3.8"
apt_packages:
- "doxygen"
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Run the steps below to build documentation locally.
```shell
cd docs

pip3 install -r .sphinx/requirements.txt
pip3 install -r sphinx/requirements.txt

python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
```
Expand Down Expand Up @@ -98,21 +98,24 @@ After configuration, build with `cmake --build <build_dir> -- -j<nproc>`
### Logger tests

Tests API implementation of logger verbosity and functionality.
o <build_dir>/bin/logger_test

* `<build_dir>/bin/logger_test`

## Running Contraction Tests

### Bilinear contraction tests

Tests the API implementation of bilinear contraction algorithm with validation.
o <build_dir>/bin/bilinear_contraction_f32_test
o <build_dir>/bin/bilinear_contraction_f64_test

* `<build_dir>/bin/bilinear_contraction_f32_test`
* `<build_dir>/bin/bilinear_contraction_f64_test`

### Scale contraction tests

Tests the API implementation of scale contraction algorithm with validation.
o <build_dir>/bin/scale_contraction_f32_test
o <build_dir>/bin/scale_contraction_f64_test

* `<build_dir>/bin/scale_contraction_f32_test`
* `<build_dir>/bin/scale_contraction_f64_test`

### Samples

Expand All @@ -121,12 +124,14 @@ These are stand-alone use-cases of the hipTensor contraction operations.
## F32 Bilinear contraction

Demonstrates the API implementation of bilinear contraction operation without validation.
o <build_dir>/bin/simple_contraction_bilinear_f32

* `<build_dir>/bin/simple_contraction_bilinear_f32`

## F32 Scale contraction

Demonstrates the API implementation of scale contraction operation without validation.
o <build_dir>/bin/simple_contraction_scale_f32

* `<build_dir>/bin/simple_contraction_scale_f32`

### Build Samples as external client

Expand Down
12 changes: 5 additions & 7 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
.doxygen/docBin
.sphinx/_toc.yml
_build
_doxygen
_images
_static
_templates
doxygen/html
doxygen/xml
sphinx/_toc.yml
_build/
_doxygen/
1 change: 0 additions & 1 deletion docs/.sphinx/requirements.in

This file was deleted.

7 changes: 5 additions & 2 deletions docs/API_Reference_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,16 @@
Introduction
************

hiptensor Data Types
hipTensor Data Types
====================

.. <!-- spellcheck-disable -->

hiptensorStatus_t
-----------------

.. doxygenenum:: hiptensorStatus_t


hiptensorComputeType_t
----------------------

Expand Down Expand Up @@ -160,3 +161,5 @@ hiptensorLoggerForceDisable
---------------------------

.. doxygenfunction:: hiptensorLoggerForceDisable

.. <!-- spellcheck-enable -->
27 changes: 13 additions & 14 deletions docs/Contributors_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ License Agreement
Pull-request guidelines
=======================


Our code contriubtion guidelines closely follows the model of `GitHub
Our code contribution guidelines closely follows the model of `GitHub
pull-requests <https://help.github.com/articles/using-pull-requests/>`__.
The hipTensor repository follows a workflow which dictates a /master branch where releases are cut, and a
/develop branch which serves as an integration branch for new code. Pull requests should:
Expand All @@ -30,8 +29,8 @@ The hipTensor repository follows a workflow which dictates a /master branch wher
- code must also have benchmark tests, and performance must approach
the compute bound limit or memory bound limit.

StyleGuide
==========
Style Guide
===========

This project follows the `CPP Core
guidelines <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md>`__,
Expand All @@ -44,16 +43,16 @@ Interface
---------

- Library code should use C++17
- Avoid CamelCase
- Avoid Camel case
- This rule applies specifically to publicly visible APIs, but is also
encouraged (not mandated) for internal code

Philosophy
----------

- `P.2 <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rp-Cplusplus>`__:
Write in ISO Standard C++14 (especially to support windows, linux and
macos plaforms )
Write in ISO Standard C++14 (especially to support Windows, Linux and
macOS platforms )
- `P.5 <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rp-compile-time>`__:
Prefer compile-time checking to run-time checking

Expand Down Expand Up @@ -105,19 +104,19 @@ will result in different results.

To format a file, use:

::
.. code-block::

/opt/rocm/llvm/bin/clang-format -style=file -i <path-to-source-file>
/opt/rocm/llvm/bin/clang-format -style=file -i <path-to-source-file>

To format all files, run the following script in hipTensor directory:

::
.. code-block::

#!/bin/bash
git ls-files -z *.cc *.cpp *.h *.hpp *.cl *.h.in *.hpp.in *.cpp.in | xargs -0 /opt/rocm/llvm/bin/clang-format -style=file -i
#!/bin/bash
git ls-files -z *.cc *.cpp *.h *.hpp *.cl *.h.in *.hpp.in *.cpp.in | xargs -0 /opt/rocm/llvm/bin/clang-format -style=file -i

Also, githooks can be installed to format the code per-commit:

::
.. code-block::

./.githooks/install
./.githooks/install
29 changes: 15 additions & 14 deletions docs/Linux_Install_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,9 @@ Minimum ROCm version support is 5.7.

By default, the project is configured as Release mode.

To build only library, run the following comomand :
To build only library, run the following command :

CC=hipcc CXX=hipcc cmake -B<build_dir> . -DHIPTENSOR_BUILD_TESTS=OFF -DHIPTENSOR_BUILD_SAMPLES=OFF
:code:`CC=hipcc CXX=hipcc cmake -B<build_dir> . -DHIPTENSOR_BUILD_TESTS=OFF -DHIPTENSOR_BUILD_SAMPLES=OFF`

Here are some other example project configurations:

Expand All @@ -116,30 +116,30 @@ Here are some other example project configurations:
+-----------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Configuration | Command |
+===================================+====================================================================================================================+
| Basic | CC=hipcc CXX=hipcc cmake -B<build_dir> . |
| Basic | :code:`CC=hipcc CXX=hipcc cmake -B<build_dir> .` |
+-----------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Targeting gfx908 | CC=hipcc CXX=hipcc cmake -B<build_dir> . -DAMDGPU_TARGETS=gfx908:xnack- |
| Targeting gfx908 | :code:`CC=hipcc CXX=hipcc cmake -B<build_dir> . -DAMDGPU_TARGETS=gfx908:xnack-` |
+-----------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Debug build | CC=hipcc CXX=hipcc cmake -B<build_dir> . -DCMAKE_BUILD_TYPE=Debug |
| Debug build | :code:`CC=hipcc CXX=hipcc cmake -B<build_dir> . -DCMAKE_BUILD_TYPE=Debug` |
+-----------------------------------+--------------------------------------------------------------------------------------------------------------------+

After configuration, build with

cmake --build <build_dir> -- -j
:code:`cmake --build <build_dir> -- -j`


Build library + samples
^^^^^^^^^^^^^^^^^^^^^^^

To build library and samples, run the following comomand :
To build library and samples, run the following command:

CC=hipcc CXX=hipcc cmake -B<build_dir> . -DHIPTENSOR_BUILD_TESTS=OFF -DHIPTENSOR_BUILD_SAMPLES=ON
:code:`CC=hipcc CXX=hipcc cmake -B<build_dir> . -DHIPTENSOR_BUILD_TESTS=OFF -DHIPTENSOR_BUILD_SAMPLES=ON`

After configuration, build with

cmake --build <build_dir> -- -j
:code:`cmake --build <build_dir> -- -j`

The samples folder in <build_dir> contains executables in the table below.
The samples folder in :code:`<build_dir>` contains executables in the table below.

=================================== ===================================================================================
executable name description
Expand All @@ -154,13 +154,13 @@ Build library + tests

To build library and tests, run the following command :

CC=hipcc CXX=hipcc cmake -B<build_dir> .
:code:`CC=hipcc CXX=hipcc cmake -B<build_dir> .`

After configuration, build with

cmake --build <build_dir> -- -j
:code:`cmake --build <build_dir> -- -j`

The tests in <build_dir> contains executables in the table below.
The tests in `<build_dir>` contains executables in the table below.

====================================== ===================================================================================
executable name description
Expand All @@ -177,6 +177,7 @@ Build library + Documentation

Run the steps below to build documentation locally.

.. code-block::
cd docs

sudo apt-get update
Expand All @@ -191,4 +192,4 @@ Run the steps below to build documentation locally.

pdflatex hiptensor.tex

Generates hiptensor.pdf here
Generates :code:`hiptensor.pdf` here
Loading