2015-05-30 12:30:43 +02:00
|
|
|
|
|
|
|
// =================================================================================================
|
|
|
|
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
|
|
|
|
// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
|
|
|
|
// width of 100 characters per line.
|
|
|
|
//
|
|
|
|
// Author(s):
|
|
|
|
// Cedric Nugteren <www.cedricnugteren.nl>
|
|
|
|
//
|
|
|
|
// =================================================================================================
|
|
|
|
|
2016-06-18 20:20:13 +02:00
|
|
|
#include "test/performance/client.hpp"
|
|
|
|
#include "test/routines/level3/xgemm.hpp"
|
2015-05-30 12:30:43 +02:00
|
|
|
|
|
|
|
// Main function (not within the clblast namespace)
|
|
|
|
int main(int argc, char *argv[]) {
|
2016-11-27 11:00:29 +01:00
|
|
|
const auto command_line_args = clblast::RetrieveCommandLineArguments(argc, argv);
|
|
|
|
switch(clblast::GetPrecision(command_line_args, clblast::Precision::kSingle)) {
|
2016-05-25 14:37:26 +02:00
|
|
|
case clblast::Precision::kHalf:
|
2017-10-01 20:36:56 +02:00
|
|
|
clblast::RunClient<clblast::TestXgemm<0, clblast::half>, clblast::half, clblast::half>(argc, argv); break;
|
2015-06-29 20:38:34 +02:00
|
|
|
case clblast::Precision::kSingle:
|
2017-10-01 20:36:56 +02:00
|
|
|
clblast::RunClient<clblast::TestXgemm<0, float>, float, float>(argc, argv); break;
|
2015-06-29 20:38:34 +02:00
|
|
|
case clblast::Precision::kDouble:
|
2017-10-01 20:36:56 +02:00
|
|
|
clblast::RunClient<clblast::TestXgemm<0, double>, double, double>(argc, argv); break;
|
2015-06-29 20:38:34 +02:00
|
|
|
case clblast::Precision::kComplexSingle:
|
2017-10-01 20:36:56 +02:00
|
|
|
clblast::RunClient<clblast::TestXgemm<0, clblast::float2>, clblast::float2, clblast::float2>(argc, argv); break;
|
2015-06-29 20:38:34 +02:00
|
|
|
case clblast::Precision::kComplexDouble:
|
2017-10-01 20:36:56 +02:00
|
|
|
clblast::RunClient<clblast::TestXgemm<0, clblast::double2>, clblast::double2, clblast::double2>(argc, argv); break;
|
2015-06-29 20:38:34 +02:00
|
|
|
}
|
2015-05-30 12:30:43 +02:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
// =================================================================================================
|