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

first major ablas update: add netlib/batched blas api. elaborate ablas types #3

Merged
merged 2 commits into from
Feb 9, 2016
Merged

first major ablas update: add netlib/batched blas api. elaborate ablas types #3

merged 2 commits into from
Feb 9, 2016

Conversation

tingxingdong
Copy link
Contributor

  1. Define various ablas types. Honor current main-streamed BLAS implementation, and use integer to specify matrix options, like "ablas_notrans = 111" (see ablas_types.h).

  2. As we agreed, and also follow the existing naming style already committed in repo.
    The name is like ablas_notrans, instead of ablasNotrans.
    so, it is ablas_sgemm instead of ablasSgemm

  3. Add Netlib and batched BLAS routines interface. Currently, the return type is void. Yet, it should be easy to "find and replace" after we define a return type like, ablas_status.

  4. In order to support int64 in the future, we use "ablas_int" everywhere rather than int. But like other BLAS library, we do NOT introduce artificial "ablas_float" to wrapper float. But we do have ablas_floatcomplex.

@tingxingdong
Copy link
Contributor Author

  1. I looked up HCC/HIP, it seems that they have not defined float/double complex precision yet. So mark it as TODO.

@@ -29,6 +29,11 @@
#define _ABLAS_H_

#include <stdbool.h>
#include "ablas_types.h"

#include "ablas_netlib.h"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the idea of a 'netlib' API, but it should probably be a peer to ablas.h, not included in ablas.h. For instance, if you were to use netlib interfaces, you would not care to know all the ablas_types. Everything is passed through parameters

@kknox
Copy link
Contributor

kknox commented Feb 3, 2016

Make sure to 'push' the commit so that i can see the changes, and review them.

* - GCC 4.8 and up
* - Clang 3.4 and up
*/
/*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need the doxygen /*! \file ... */ commands or the rest of the documentation breaks.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add. Done!

kknox pushed a commit that referenced this pull request Feb 9, 2016
first major ablas update: add netlib/batched blas api. elaborate ablas types
@kknox kknox merged commit 7942835 into ROCm:develop Feb 9, 2016
wbgilmartin added a commit that referenced this pull request Oct 21, 2019
* integration of the new tensile client

* New tensile client (#1)

* Refactoring

* Move tensile_host.hpp from public C API to private C++ implementation

* Work around missing complex; fix formatting

* Remove --lib option and argument; make use of legacy handle API instead of introducing a new host handle API

* Map values to value categories currently represented as double

* minor changes

* merge Bill & Lee's changes

* Merge Bill & Lee's changes

* Fix build errors

* Merge 2.10 develop into new tensile client (#2)

* Changed timeout from hours to minutes (#699)

* set clang include directory, fix for centos build error

* hot fix to restore loading of DGEMM replacement kernels (#701)

* SLES support (#704)

* Merging master with SLES commit

* Specifying GPU architecture for ubuntu and sles (#695)

* Fixing Timeout

* BF16 replacement kernels (#705)

* hot fix to restore loading of DGEMM replacement kernels
* Revert "Switch to using separate D for gemm_ex benchmark calls (#667)"
This reverts commit 402d231.
* bf16 kernels for gfx908
* use bf16 UseBeta=0 replacement kernels
* update tensile_tag to use bf16 UseBeta=0 replacement kernels

* Restore usebeta1 logic (#707)

* restore UseBeta=1 logic for arcturus BF16 TN

* Supporting clang10 for SLES (#708)

* Batched syr (#727)

* adding syr batched and strided batched

* rocblas_stride, reusable template pattern work

* WIP

* fixes testing and format

* restore dependency

* adds minimal batches  & bad arg

* fix bad arg testing

* constify ptrs, spelling

* add alpha vector support, PR feedback

* more BF16 TN sizes

* Refactoring

* Move tensile_host.hpp from public C API to private C++ implementation

* Work around missing complex; fix formatting

* Remove --lib option and argument; make use of legacy handle API instead of introducing a new host handle API

* gf908 BF16 TN 512x512x512 known issue

* Enable SLES packaging (#719)

* Refactor Ger and Gemv (#735)

* Map values to value categories currently represented as double

* Rot(m)(g) batched and strided_batched (#737)

* SWDEV 203994 (#743)

* Refactor alpha, beta logging; do not return invalid pointer errors in GEMM, GEMV when other arguments allow early exit

* Fixes

* update

* version for master branch release

* version for develop branch release

* update Tensile package number

* Fixing SLES tests LD_LIBRARY_PATH and refactoring tests (#741)

* Fixing SLES tests LD_LIBRARY_PATH and refactoring tests

* Missing braces/spelling

* spelling

* Fixing packaging

* New Winograd kernels added (#742)

* fix for changes of FreeIndices change in Tensile

* New tensile client (#3)

* Changed timeout from hours to minutes (#699)

* set clang include directory, fix for centos build error

* hot fix to restore loading of DGEMM replacement kernels (#701)

* SLES support (#704)

* Merging master with SLES commit

* Specifying GPU architecture for ubuntu and sles (#695)

* Fixing Timeout

* BF16 replacement kernels (#705)

* hot fix to restore loading of DGEMM replacement kernels
* Revert "Switch to using separate D for gemm_ex benchmark calls (#667)"
This reverts commit 402d231.
* bf16 kernels for gfx908
* use bf16 UseBeta=0 replacement kernels
* update tensile_tag to use bf16 UseBeta=0 replacement kernels

* Restore usebeta1 logic (#707)

* restore UseBeta=1 logic for arcturus BF16 TN

* Supporting clang10 for SLES (#708)

* Batched syr (#727)

* adding syr batched and strided batched

* rocblas_stride, reusable template pattern work

* WIP

* fixes testing and format

* restore dependency

* adds minimal batches  & bad arg

* fix bad arg testing

* constify ptrs, spelling

* add alpha vector support, PR feedback

* more BF16 TN sizes

* Refactoring

* Move tensile_host.hpp from public C API to private C++ implementation

* Work around missing complex; fix formatting

* Remove --lib option and argument; make use of legacy handle API instead of introducing a new host handle API

* gf908 BF16 TN 512x512x512 known issue

* Enable SLES packaging (#719)

* Refactor Ger and Gemv (#735)

* Map values to value categories currently represented as double

* Rot(m)(g) batched and strided_batched (#737)

* SWDEV 203994 (#743)

* Refactor alpha, beta logging; do not return invalid pointer errors in GEMM, GEMV when other arguments allow early exit

* Fixes

* update

* version for master branch release

* version for develop branch release

* update Tensile package number

* Fixing SLES tests LD_LIBRARY_PATH and refactoring tests (#741)

* Fixing SLES tests LD_LIBRARY_PATH and refactoring tests

* Missing braces/spelling

* spelling

* Fixing packaging

* New Winograd kernels added (#742)

* Fix GEMM for half type

* updates to get rocblas-test and half sizes to work

* partial fix for NaN test failures

* New tensile client (#4)

* Changed timeout from hours to minutes (#699)

* set clang include directory, fix for centos build error

* hot fix to restore loading of DGEMM replacement kernels (#701)

* SLES support (#704)

* Merging master with SLES commit

* Specifying GPU architecture for ubuntu and sles (#695)

* Fixing Timeout

* BF16 replacement kernels (#705)

* hot fix to restore loading of DGEMM replacement kernels
* Revert "Switch to using separate D for gemm_ex benchmark calls (#667)"
This reverts commit 402d231.
* bf16 kernels for gfx908
* use bf16 UseBeta=0 replacement kernels
* update tensile_tag to use bf16 UseBeta=0 replacement kernels

* Restore usebeta1 logic (#707)

* restore UseBeta=1 logic for arcturus BF16 TN

* Supporting clang10 for SLES (#708)

* Batched syr (#727)

* adding syr batched and strided batched

* rocblas_stride, reusable template pattern work

* WIP

* fixes testing and format

* restore dependency

* adds minimal batches  & bad arg

* fix bad arg testing

* constify ptrs, spelling

* add alpha vector support, PR feedback

* more BF16 TN sizes

* Refactoring

* Move tensile_host.hpp from public C API to private C++ implementation

* Work around missing complex; fix formatting

* Remove --lib option and argument; make use of legacy handle API instead of introducing a new host handle API

* gf908 BF16 TN 512x512x512 known issue

* Enable SLES packaging (#719)

* Refactor Ger and Gemv (#735)

* Map values to value categories currently represented as double

* Rot(m)(g) batched and strided_batched (#737)

* SWDEV 203994 (#743)

* Refactor alpha, beta logging; do not return invalid pointer errors in GEMM, GEMV when other arguments allow early exit

* Fixes

* update

* version for master branch release

* version for develop branch release

* update Tensile package number

* Fixing SLES tests LD_LIBRARY_PATH and refactoring tests (#741)

* Fixing SLES tests LD_LIBRARY_PATH and refactoring tests

* Missing braces/spelling

* spelling

* Fixing packaging

* New Winograd kernels added (#742)

* Fix GEMM for half type

* Refactoring classes to be simpler

* Fix rocblas_half

* fix negative workgroup mapping error

* fix WorkGroupMapping issue for files in asm_lite

* more fixes for workgroupmapping issue

* wgm issue for asm_miopen

* New tensile client (#5)

* Changed timeout from hours to minutes (#699)

* set clang include directory, fix for centos build error

* hot fix to restore loading of DGEMM replacement kernels (#701)

* SLES support (#704)

* Merging master with SLES commit

* Specifying GPU architecture for ubuntu and sles (#695)

* Fixing Timeout

* BF16 replacement kernels (#705)

* hot fix to restore loading of DGEMM replacement kernels
* Revert "Switch to using separate D for gemm_ex benchmark calls (#667)"
This reverts commit 402d231.
* bf16 kernels for gfx908
* use bf16 UseBeta=0 replacement kernels
* update tensile_tag to use bf16 UseBeta=0 replacement kernels

* Restore usebeta1 logic (#707)

* restore UseBeta=1 logic for arcturus BF16 TN

* Supporting clang10 for SLES (#708)

* Batched syr (#727)

* adding syr batched and strided batched

* rocblas_stride, reusable template pattern work

* WIP

* fixes testing and format

* restore dependency

* adds minimal batches  & bad arg

* fix bad arg testing

* constify ptrs, spelling

* add alpha vector support, PR feedback

* more BF16 TN sizes

* Refactoring

* Move tensile_host.hpp from public C API to private C++ implementation

* Work around missing complex; fix formatting

* Remove --lib option and argument; make use of legacy handle API instead of introducing a new host handle API

* gf908 BF16 TN 512x512x512 known issue

* Enable SLES packaging (#719)

* Refactor Ger and Gemv (#735)

* Map values to value categories currently represented as double

* Rot(m)(g) batched and strided_batched (#737)

* SWDEV 203994 (#743)

* Refactor alpha, beta logging; do not return invalid pointer errors in GEMM, GEMV when other arguments allow early exit

* Fixes

* update

* version for master branch release

* version for develop branch release

* update Tensile package number

* Fixing SLES tests LD_LIBRARY_PATH and refactoring tests (#741)

* Fixing SLES tests LD_LIBRARY_PATH and refactoring tests

* Missing braces/spelling

* spelling

* Fixing packaging

* New Winograd kernels added (#742)

* Changing Gemv and Ger stride type (#747)

* Handle spaces and newline (#748)

* Fix GEMM for half type

* Tuned Shakespeare kernels (#749)

* Refactoring classes to be simpler

* Fix rocblas_half

* fix argument validation in gemm calls

* fix complex strided batch implementation

* fix validateArgs redefinition

* New tensile client (#6)

* Changed timeout from hours to minutes (#699)

* set clang include directory, fix for centos build error

* hot fix to restore loading of DGEMM replacement kernels (#701)

* SLES support (#704)

* Merging master with SLES commit

* Specifying GPU architecture for ubuntu and sles (#695)

* Fixing Timeout

* BF16 replacement kernels (#705)

* hot fix to restore loading of DGEMM replacement kernels
* Revert "Switch to using separate D for gemm_ex benchmark calls (#667)"
This reverts commit 402d231.
* bf16 kernels for gfx908
* use bf16 UseBeta=0 replacement kernels
* update tensile_tag to use bf16 UseBeta=0 replacement kernels

* Restore usebeta1 logic (#707)

* restore UseBeta=1 logic for arcturus BF16 TN

* Supporting clang10 for SLES (#708)

* Batched syr (#727)

* adding syr batched and strided batched

* rocblas_stride, reusable template pattern work

* WIP

* fixes testing and format

* restore dependency

* adds minimal batches  & bad arg

* fix bad arg testing

* constify ptrs, spelling

* add alpha vector support, PR feedback

* more BF16 TN sizes

* Refactoring

* Move tensile_host.hpp from public C API to private C++ implementation

* Work around missing complex; fix formatting

* Remove --lib option and argument; make use of legacy handle API instead of introducing a new host handle API

* gf908 BF16 TN 512x512x512 known issue

* Enable SLES packaging (#719)

* Refactor Ger and Gemv (#735)

* Map values to value categories currently represented as double

* Rot(m)(g) batched and strided_batched (#737)

* SWDEV 203994 (#743)

* Refactor alpha, beta logging; do not return invalid pointer errors in GEMM, GEMV when other arguments allow early exit

* Fixes

* update

* version for master branch release

* version for develop branch release

* update Tensile package number

* Fixing SLES tests LD_LIBRARY_PATH and refactoring tests (#741)

* Fixing SLES tests LD_LIBRARY_PATH and refactoring tests

* Missing braces/spelling

* spelling

* Fixing packaging

* New Winograd kernels added (#742)

* Changing Gemv and Ger stride type (#747)

* Handle spaces and newline (#748)

* Fix GEMM for half type

* Tuned Shakespeare kernels (#749)

* Refactoring classes to be simpler

* Fix rocblas_half

* Cleanup source
@leekillough leekillough mentioned this pull request Nov 1, 2019
zaliu pushed a commit to zaliu/rocBLAS that referenced this pull request Apr 23, 2020
Updating blas3 argument checking.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants