John Shumway
d5a350c51d
Remove broken gmock and fix inline diff.
...
We really need to just fix GTest/GMock fo CK. I used copilot to generalize the inlineDiff function for insertions and deletions.
2025-09-19 12:03:40 +00:00
John Shumway
aac746e780
Fix naming style of all signature enums.
...
Some of these enum values were CamelCase when they should have been CONSTANT_CASE.
2025-09-14 14:25:47 +00:00
John Shumway
f4c11b6d22
Provide default value for API VERSION.
...
Create a LATEST_API_VERSION value and use that as the default. This simplifies code that shouldn't depend the API version.
2025-09-14 14:16:40 +00:00
John Shumway
fe6140353f
Rename layouts to channels first or channels last.
...
Also add a spatial dimension parameter to layout mapping in the factory to handle different layout enums for 2D and 3D convolutions
2025-09-14 14:03:35 +00:00
John Shumway
4350f65b03
Simplify Signature by removing constexpr.
...
The tests used constexpr on fields from an older design. Now that we have const template parameters instead of types, these Signature fields don't need constexpr. This will also make it easier to test different operator signatures.
2025-09-13 14:00:49 +00:00
John Shumway
19c573fb70
Fix concepts for convolution signature.
...
We split the concepts to a check on the signature type (ConvSignatureDescriptor) as well as a check on the value (ValidConvSignature).
2025-09-08 19:56:33 +00:00
John Shumway
d85ba0965b
Update some more concept names.
2025-09-07 19:35:54 +00:00
John Shumway
ade741ae61
Generalized version to StringLiteral.
...
With the change, the following can be used for the version parameter:
"0.1.0" // string literal
constexpr char API_VERSION[] = "0.1.0";
constexpr ckb::StringLiteral API_VERSION = "0.1.0";
2025-09-05 22:30:00 +00:00
John Shumway
46969bd05d
Convert SIGNATURE to non-template type parameter.
...
No functional changes yet, but this aligns with ALGORITHM and will allow testing different signatures.
2025-09-04 21:31:44 +00:00
John Shumway
b70a58fcdd
Split builder tests and instance tests.
...
We have a typed test suite of all the instance we want to create, and also we have simple test of the builder. Split those into two different test suites.
2025-09-04 14:02:34 +00:00
John Shumway
6b83f7e0d9
Migrate builder instantiation test to a TYPED_TEST_SUITE.
...
We can now drive the test from a constexpr std::array of TestCases and a ::testing::Types sequence of test indicies.
2025-09-04 13:34:22 +00:00
John Shumway
e05879fbd6
Add block transfer paramters to builder.
...
These are very hard to test in the kernel class, so just test the values in the factory.
2025-09-02 23:08:32 +00:00
John Shumway
c3c92f1267
Add test for ak1 and bk1.
...
These are not easy to access in the instance object, so just test the factory values.
2025-09-02 21:06:16 +00:00
John Shumway
a2e661cd57
Making alorithm a non-type parameter
...
This simplifies the design by continuing to reduce the number of types and avoidng extra use of constexpr.
2025-09-02 17:22:29 +00:00
John Shumway
a79616f323
Add tuning parameters to builder.
...
Add support for setting ak1, bk1, m_xdl_per_wave, and n_xdl_per_wave.
Note: It's difficult to test ak1 and bk1, since the values are not stored in the class.
2025-09-02 16:32:32 +00:00
John Shumway
d34806a8ae
Simplify convolution builder tests.
...
Move static_assert concept checks out of tests and improve instance test names.
2025-09-01 22:04:04 +00:00
John Shumway
a24fc535b7
Add thread block info to factory.
...
Now we can set the thread block size and submatrix shape for the builder.
2025-09-01 21:54:41 +00:00
John Shumway
682d27cc40
Fix test files for convolution builder.
2025-08-28 02:02:48 +00:00