Commit Graph

14 Commits

Author SHA1 Message Date
John Shumway
5f0c272c9f 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-10-05 17:30:25 +00:00
John Shumway
e4a93ba12a 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-10-05 17:30:25 +00:00
John Shumway
da140c434b Update some more concept names. 2025-10-05 17:30:25 +00:00
John Shumway
b2f501d5d7 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-10-05 17:30:25 +00:00
John Shumway
0d8724a162 Convert SIGNATURE to non-template type parameter.
No functional changes yet, but this aligns with ALGORITHM and will allow testing different signatures.
2025-10-05 17:30:25 +00:00
John Shumway
70415c2c16 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-10-05 17:30:25 +00:00
John Shumway
7acd24ef20 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-10-05 17:30:25 +00:00
John Shumway
6a513e1a7f 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-10-05 17:30:25 +00:00
John Shumway
97660c64e5 Add test for ak1 and bk1.
These are not easy to access in the instance object, so just test the factory values.
2025-10-05 17:30:25 +00:00
John Shumway
834f0436a3 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-10-05 17:30:25 +00:00
John Shumway
f8b790dfd1 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-10-05 17:30:25 +00:00
John Shumway
c0f5f5a20e Simplify convolution builder tests.
Move static_assert concept checks out of tests and improve instance test names.
2025-10-05 17:30:25 +00:00
John Shumway
061fb06eef Add thread block info to factory.
Now we can set the thread block size and submatrix shape for the builder.
2025-10-05 17:30:25 +00:00
John Shumway
cee90b800e Fix test files for convolution builder. 2025-10-05 17:30:25 +00:00