mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-14 10:09:41 +00:00
[CK_BUILDER] convolution testing (#3267)
* Add README.md for testing
* Add tensor_memory_manager.
* ck-builder: tensor memory manager rebase fixes
This fixes some issues caused by the API being changed recently.
Also, this streamlines the ckt namespace to always be ck_tile::builder::test,
as this is already being used by other tests
Really, this commit should be squashed into the previous,
but I'm keeping it separate for brevity.
* ck-builder: test arguments initial prototype
* ck-builder: test system initial prototype
* ck-builder: fix non-standardized copyright comments
* ck-builder: new prototype
* ck-builder: group testing inputs/outputs into a separate structure
This is basically the return of the tensor memory manager after all,
except that the design is more closely tied to the actual operation.
Using a struct allows us to add additional input/output tensors
without breaking code (by defaulting those new parameters). Note
that the tensors are split into a separate inputs/outputs because we
usually want to allocate the output _twice_: once for the real
computation and once for the reference computation.
* ck-builder: simplify prototype naming; start docs
* ck-builder: update testing readme
* ck-builder: testing documentation
* ck-builder: HipStatusMatcher
This matcher can be used to check HIP status codes and provide
nice and readable error messages.
* ck-builder: tensor_buffer.hpp tests
* ck-builder: conv_fwd.hpp tests
* ck-builder: add example end-to-end test in conv fwd 2d fp16
* ck-builder: simplify extent usage
* ck-builder: update testing doc
* ck-builder: skip end to end test on non-gfx9
* fix check_copyright_year interpreter
/bin/bash is not guaranteed to exist on Linux. Signed,
a NixOS user
* ck-builder: fix copyrights
* ck-builder: reduce conv fwd testing size
This test allocated 24GB of memory, too much for 16GB cards.
---------
Co-authored-by: John Shumway <jshumway@amd.com>
[ROCm/composable_kernel commit: 6219b12730]
This commit is contained in:
@@ -11,6 +11,11 @@
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, hipError_t status)
|
||||
{
|
||||
return os << hipGetErrorString(status);
|
||||
}
|
||||
|
||||
namespace ck_tile::test {
|
||||
|
||||
// Wagner-Fischer Algorithm for Computing Edit Distance and Inline Diff
|
||||
@@ -297,4 +302,41 @@ void InstanceMatcher::DescribeNegationTo(std::ostream* os) const
|
||||
*os << "is not equal to " << expected_;
|
||||
}
|
||||
|
||||
bool HipStatusMatcher::MatchAndExplain(hipError_t actual,
|
||||
::testing::MatchResultListener* listener) const
|
||||
{
|
||||
(void)listener;
|
||||
|
||||
if(actual == expected_)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void HipStatusMatcher::DescribeTo(std::ostream* os) const { *os << hipGetErrorString(expected_); }
|
||||
|
||||
void HipStatusMatcher::DescribeNegationTo(std::ostream* os) const
|
||||
{
|
||||
if(expected_ == hipSuccess)
|
||||
{
|
||||
*os << "any error";
|
||||
}
|
||||
else
|
||||
{
|
||||
*os << "isn't equal to " << hipGetErrorString(expected_);
|
||||
}
|
||||
}
|
||||
|
||||
::testing::Matcher<hipError_t> HipSuccess()
|
||||
{
|
||||
return ::testing::MakeMatcher(new HipStatusMatcher(hipSuccess));
|
||||
}
|
||||
|
||||
::testing::Matcher<hipError_t> HipError(hipError_t error)
|
||||
{
|
||||
return ::testing::MakeMatcher(new HipStatusMatcher(error));
|
||||
}
|
||||
|
||||
} // namespace ck_tile::test
|
||||
|
||||
Reference in New Issue
Block a user