| 1 | #include <tmto/configuration.hpp> |
|---|
| 2 | #include <tmto/condition/all_conditions.hpp> |
|---|
| 3 | //#include <tmto/condition/distinguished_point.hpp> |
|---|
| 4 | #include <tmto/round_function/xor_fixed_value.hpp> |
|---|
| 5 | #include <tmto/round_function/xor.hpp> |
|---|
| 6 | #include <tmto/round_function/generator/increment.hpp> |
|---|
| 7 | #include <tmto/round_function/generator/sharedmem_methods_nvcc.hpp> |
|---|
| 8 | #include <tmto/round_function/generator/lfsr.hpp> |
|---|
| 9 | #include <tmto/round_function/generator/lfsr2.hpp> |
|---|
| 10 | |
|---|
| 11 | //#include <tmto/algorithm/A51/implementation/cuda/localmem.hpp> |
|---|
| 12 | //#include <tmto/algorithm/A51/implementation/cuda/mixedmem.hpp> |
|---|
| 13 | //#include <tmto/algorithm/A51/implementation/cuda/simple.hpp> |
|---|
| 14 | //#include <tmto/algorithm/A51/implementation/cuda/interleaved.hpp> |
|---|
| 15 | |
|---|
| 16 | #include <tmto/algorithm/A51/implementation/cuda/tags.hpp> |
|---|
| 17 | |
|---|
| 18 | namespace tmto { |
|---|
| 19 | namespace configuration { |
|---|
| 20 | typedef supported_condition< |
|---|
| 21 | tmto::condition::tag::rounds, end |
|---|
| 22 | > supported_conditions; |
|---|
| 23 | typedef supported_condition< |
|---|
| 24 | tmto::condition::tag::distinguished_point, |
|---|
| 25 | end |
|---|
| 26 | > supported_rconditions; |
|---|
| 27 | |
|---|
| 28 | typedef supported_round_function< |
|---|
| 29 | tmto::round_function::tag::xor_, end |
|---|
| 30 | > supported_round_functions; |
|---|
| 31 | |
|---|
| 32 | typedef supported_round_function_generator< |
|---|
| 33 | tmto::round_function::generator::tag::lfsr2, |
|---|
| 34 | // tmto::round_function::generator::tag::sharedmem<tmto::round_function::generator::tag::lfsr2>, |
|---|
| 35 | // supported_round_function_generator<tmto::round_function::generator::tag::sharedmem<tmto::round_function::generator::tag::lfsr>, |
|---|
| 36 | end |
|---|
| 37 | // > |
|---|
| 38 | > supported_round_function_generators; |
|---|
| 39 | |
|---|
| 40 | namespace A51 = algorithm::A51::implementation::cuda::tag; |
|---|
| 41 | |
|---|
| 42 | typedef supported_implementation |
|---|
| 43 | <A51::bitslice, unused, end |
|---|
| 44 | // supported_implementation |
|---|
| 45 | // <A51::mixedmem, unused, |
|---|
| 46 | // supported_implementation |
|---|
| 47 | // <A51::simple, unused, end |
|---|
| 48 | #if 0 |
|---|
| 49 | supported_implementation |
|---|
| 50 | <A51::interleaved, A51::interleaved_args<A51::mixedmem, A51::simple, |
|---|
| 51 | A51::interleaved_fixed_block_count>, |
|---|
| 52 | end |
|---|
| 53 | > |
|---|
| 54 | #endif |
|---|
| 55 | // > |
|---|
| 56 | // > |
|---|
| 57 | > supported_implementations; |
|---|
| 58 | |
|---|
| 59 | typedef supported_combined_implementation< |
|---|
| 60 | supported_implementations, |
|---|
| 61 | supported_conditions, |
|---|
| 62 | supported_round_functions, |
|---|
| 63 | supported_rconditions, |
|---|
| 64 | supported_round_function_generators |
|---|
| 65 | > supported_combined_implementations; |
|---|
| 66 | } |
|---|
| 67 | } |
|---|