Split the database into multiple small compilation units

pull/234/head
Cedric Nugteren 2017-12-27 12:04:22 +01:00
parent 4a2fc4aa98
commit 1e738db6dd
34 changed files with 454 additions and 78 deletions

View File

@ -5,6 +5,7 @@ Development (next version)
- Added OpenCL pre-processor to unroll loops and perform array-to-register promotions for compilers
which don't do this themselves (ARM Mali) - greatly improves performance on these platforms
- Added first tuners for the TRSV (block size) and TRSM (invert kernel) routines
- Improved compilation time by splitting the tuning database into multiple compilation units
- Various minor fixes and enhancements
- Added tuned parameters for various devices (see README)

View File

@ -285,6 +285,7 @@ foreach(ROUTINE ${LEVELX_ROUTINES})
set(HEADERS ${HEADERS} src/routines/levelx/${ROUTINE}.hpp)
endforeach()
foreach(DATABASE ${DATABASES})
set(SOURCES ${SOURCES} src/database/kernels/${DATABASE}/${DATABASE}.cpp)
set(HEADERS ${HEADERS} src/database/kernels/${DATABASE}/${DATABASE}.hpp)
set(HEADERS ${HEADERS} src/database/kernels/${DATABASE}/${DATABASE}_16.hpp)
set(HEADERS ${HEADERS} src/database/kernels/${DATABASE}/${DATABASE}_32.hpp)

View File

@ -90,13 +90,29 @@ def get_cpp_device_vendor(vendor, device_type):
def get_cpp_family_includes(family, precisions):
result = "\n"
# result += "#include \"clblast.h\"\n"
# result += "#include \"database/database_structure.hpp\"\n"
result += "#include \"database/kernels/%s/%s.hpp\"\n" % (family, family)
for precision in precisions:
result += "#include \"database/kernels/%s/%s_%s.hpp\"\n" % (family, family, precision)
return result
def get_hpp_family_includes(family, precisions):
result = "\n"
result += "#include \"database/database_structure.hpp\"\n"
result += "\n"
result += "namespace clblast {\n"
result += "namespace database {\n"
result += "\n"
camelcase_name = family.title().replace("_", "")
for precision in precisions:
precision_string = precision_to_string(precision)
result += "extern const DatabaseEntry %s%s;\n" % (camelcase_name, precision_string)
result += "\n"
result += "} // namespace database\n"
result += "} // namespace clblast\n"
return result
def print_as_name(name):
return "Name{\"%-50s\"}" % name.strip()[:STRING_LENGTH]
@ -238,8 +254,14 @@ def print_cpp_database(database, output_dir):
# Prints the file footer
f.write(get_cpp_footer())
# Creates the combined family sources
full_path = os.path.join(family_path, family_name + ".cpp")
with open(full_path, 'w+') as f:
f.write(get_cpp_header(family_name, ""))
f.write(get_cpp_family_includes(family_name, precisions))
# Creates the combined family includes header
full_path = os.path.join(family_path, family_name + ".hpp")
with open(full_path, 'w+') as f:
f.write(get_cpp_header(family_name, ""))
f.write(get_cpp_family_includes(family_name, precisions))
f.write(get_hpp_family_includes(family_name, precisions))

View File

@ -19,6 +19,13 @@
#include <vector>
#include <map>
// Just needed for 'Precision'
#ifdef OPENCL_API
#include "clblast.h"
#elif CUDA_API
#include "clblast_cuda.h"
#endif
namespace clblast {
// A special namespace to hold all the global constant variables (including the database entries)
namespace database {

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Copy' kernels.
//
// =================================================================================================
#include "database/kernels/copy/copy.hpp"
#include "database/kernels/copy/copy_16.hpp"
#include "database/kernels/copy/copy_32.hpp"
#include "database/kernels/copy/copy_3232.hpp"
#include "database/kernels/copy/copy_64.hpp"
#include "database/kernels/copy/copy_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/copy/copy_16.hpp"
#include "database/kernels/copy/copy_32.hpp"
#include "database/kernels/copy/copy_3232.hpp"
#include "database/kernels/copy/copy_64.hpp"
#include "database/kernels/copy/copy_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry CopyHalf;
extern const DatabaseEntry CopySingle;
extern const DatabaseEntry CopyComplexSingle;
extern const DatabaseEntry CopyDouble;
extern const DatabaseEntry CopyComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Gemm_Routine' kernels.
//
// =================================================================================================
#include "database/kernels/gemm_routine/gemm_routine.hpp"
#include "database/kernels/gemm_routine/gemm_routine_16.hpp"
#include "database/kernels/gemm_routine/gemm_routine_32.hpp"
#include "database/kernels/gemm_routine/gemm_routine_3232.hpp"
#include "database/kernels/gemm_routine/gemm_routine_64.hpp"
#include "database/kernels/gemm_routine/gemm_routine_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/gemm_routine/gemm_routine_16.hpp"
#include "database/kernels/gemm_routine/gemm_routine_32.hpp"
#include "database/kernels/gemm_routine/gemm_routine_3232.hpp"
#include "database/kernels/gemm_routine/gemm_routine_64.hpp"
#include "database/kernels/gemm_routine/gemm_routine_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry GemmRoutineHalf;
extern const DatabaseEntry GemmRoutineSingle;
extern const DatabaseEntry GemmRoutineComplexSingle;
extern const DatabaseEntry GemmRoutineDouble;
extern const DatabaseEntry GemmRoutineComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Invert' kernels.
//
// =================================================================================================
#include "database/kernels/invert/invert.hpp"
#include "database/kernels/invert/invert_16.hpp"
#include "database/kernels/invert/invert_32.hpp"
#include "database/kernels/invert/invert_3232.hpp"
#include "database/kernels/invert/invert_64.hpp"
#include "database/kernels/invert/invert_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/invert/invert_16.hpp"
#include "database/kernels/invert/invert_32.hpp"
#include "database/kernels/invert/invert_3232.hpp"
#include "database/kernels/invert/invert_64.hpp"
#include "database/kernels/invert/invert_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry InvertHalf;
extern const DatabaseEntry InvertSingle;
extern const DatabaseEntry InvertComplexSingle;
extern const DatabaseEntry InvertDouble;
extern const DatabaseEntry InvertComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Pad' kernels.
//
// =================================================================================================
#include "database/kernels/pad/pad.hpp"
#include "database/kernels/pad/pad_16.hpp"
#include "database/kernels/pad/pad_32.hpp"
#include "database/kernels/pad/pad_3232.hpp"
#include "database/kernels/pad/pad_64.hpp"
#include "database/kernels/pad/pad_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/pad/pad_16.hpp"
#include "database/kernels/pad/pad_32.hpp"
#include "database/kernels/pad/pad_3232.hpp"
#include "database/kernels/pad/pad_64.hpp"
#include "database/kernels/pad/pad_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry PadHalf;
extern const DatabaseEntry PadSingle;
extern const DatabaseEntry PadComplexSingle;
extern const DatabaseEntry PadDouble;
extern const DatabaseEntry PadComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Padtranspose' kernels.
//
// =================================================================================================
#include "database/kernels/padtranspose/padtranspose.hpp"
#include "database/kernels/padtranspose/padtranspose_16.hpp"
#include "database/kernels/padtranspose/padtranspose_32.hpp"
#include "database/kernels/padtranspose/padtranspose_3232.hpp"
#include "database/kernels/padtranspose/padtranspose_64.hpp"
#include "database/kernels/padtranspose/padtranspose_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/padtranspose/padtranspose_16.hpp"
#include "database/kernels/padtranspose/padtranspose_32.hpp"
#include "database/kernels/padtranspose/padtranspose_3232.hpp"
#include "database/kernels/padtranspose/padtranspose_64.hpp"
#include "database/kernels/padtranspose/padtranspose_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry PadtransposeHalf;
extern const DatabaseEntry PadtransposeSingle;
extern const DatabaseEntry PadtransposeComplexSingle;
extern const DatabaseEntry PadtransposeDouble;
extern const DatabaseEntry PadtransposeComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Transpose' kernels.
//
// =================================================================================================
#include "database/kernels/transpose/transpose.hpp"
#include "database/kernels/transpose/transpose_16.hpp"
#include "database/kernels/transpose/transpose_32.hpp"
#include "database/kernels/transpose/transpose_3232.hpp"
#include "database/kernels/transpose/transpose_64.hpp"
#include "database/kernels/transpose/transpose_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/transpose/transpose_16.hpp"
#include "database/kernels/transpose/transpose_32.hpp"
#include "database/kernels/transpose/transpose_3232.hpp"
#include "database/kernels/transpose/transpose_64.hpp"
#include "database/kernels/transpose/transpose_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry TransposeHalf;
extern const DatabaseEntry TransposeSingle;
extern const DatabaseEntry TransposeComplexSingle;
extern const DatabaseEntry TransposeDouble;
extern const DatabaseEntry TransposeComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Trsv_Routine' kernels.
//
// =================================================================================================
#include "database/kernels/trsv_routine/trsv_routine.hpp"
#include "database/kernels/trsv_routine/trsv_routine_16.hpp"
#include "database/kernels/trsv_routine/trsv_routine_32.hpp"
#include "database/kernels/trsv_routine/trsv_routine_3232.hpp"
#include "database/kernels/trsv_routine/trsv_routine_64.hpp"
#include "database/kernels/trsv_routine/trsv_routine_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/trsv_routine/trsv_routine_16.hpp"
#include "database/kernels/trsv_routine/trsv_routine_32.hpp"
#include "database/kernels/trsv_routine/trsv_routine_3232.hpp"
#include "database/kernels/trsv_routine/trsv_routine_64.hpp"
#include "database/kernels/trsv_routine/trsv_routine_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry TrsvRoutineHalf;
extern const DatabaseEntry TrsvRoutineSingle;
extern const DatabaseEntry TrsvRoutineComplexSingle;
extern const DatabaseEntry TrsvRoutineDouble;
extern const DatabaseEntry TrsvRoutineComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Xaxpy' kernels.
//
// =================================================================================================
#include "database/kernels/xaxpy/xaxpy.hpp"
#include "database/kernels/xaxpy/xaxpy_16.hpp"
#include "database/kernels/xaxpy/xaxpy_32.hpp"
#include "database/kernels/xaxpy/xaxpy_3232.hpp"
#include "database/kernels/xaxpy/xaxpy_64.hpp"
#include "database/kernels/xaxpy/xaxpy_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/xaxpy/xaxpy_16.hpp"
#include "database/kernels/xaxpy/xaxpy_32.hpp"
#include "database/kernels/xaxpy/xaxpy_3232.hpp"
#include "database/kernels/xaxpy/xaxpy_64.hpp"
#include "database/kernels/xaxpy/xaxpy_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry XaxpyHalf;
extern const DatabaseEntry XaxpySingle;
extern const DatabaseEntry XaxpyComplexSingle;
extern const DatabaseEntry XaxpyDouble;
extern const DatabaseEntry XaxpyComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Xdot' kernels.
//
// =================================================================================================
#include "database/kernels/xdot/xdot.hpp"
#include "database/kernels/xdot/xdot_16.hpp"
#include "database/kernels/xdot/xdot_32.hpp"
#include "database/kernels/xdot/xdot_3232.hpp"
#include "database/kernels/xdot/xdot_64.hpp"
#include "database/kernels/xdot/xdot_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/xdot/xdot_16.hpp"
#include "database/kernels/xdot/xdot_32.hpp"
#include "database/kernels/xdot/xdot_3232.hpp"
#include "database/kernels/xdot/xdot_64.hpp"
#include "database/kernels/xdot/xdot_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry XdotHalf;
extern const DatabaseEntry XdotSingle;
extern const DatabaseEntry XdotComplexSingle;
extern const DatabaseEntry XdotDouble;
extern const DatabaseEntry XdotComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Xgemm' kernels.
//
// =================================================================================================
#include "database/kernels/xgemm/xgemm.hpp"
#include "database/kernels/xgemm/xgemm_16.hpp"
#include "database/kernels/xgemm/xgemm_32.hpp"
#include "database/kernels/xgemm/xgemm_3232.hpp"
#include "database/kernels/xgemm/xgemm_64.hpp"
#include "database/kernels/xgemm/xgemm_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/xgemm/xgemm_16.hpp"
#include "database/kernels/xgemm/xgemm_32.hpp"
#include "database/kernels/xgemm/xgemm_3232.hpp"
#include "database/kernels/xgemm/xgemm_64.hpp"
#include "database/kernels/xgemm/xgemm_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry XgemmHalf;
extern const DatabaseEntry XgemmSingle;
extern const DatabaseEntry XgemmComplexSingle;
extern const DatabaseEntry XgemmDouble;
extern const DatabaseEntry XgemmComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Xgemm_Direct' kernels.
//
// =================================================================================================
#include "database/kernels/xgemm_direct/xgemm_direct.hpp"
#include "database/kernels/xgemm_direct/xgemm_direct_16.hpp"
#include "database/kernels/xgemm_direct/xgemm_direct_32.hpp"
#include "database/kernels/xgemm_direct/xgemm_direct_3232.hpp"
#include "database/kernels/xgemm_direct/xgemm_direct_64.hpp"
#include "database/kernels/xgemm_direct/xgemm_direct_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/xgemm_direct/xgemm_direct_16.hpp"
#include "database/kernels/xgemm_direct/xgemm_direct_32.hpp"
#include "database/kernels/xgemm_direct/xgemm_direct_3232.hpp"
#include "database/kernels/xgemm_direct/xgemm_direct_64.hpp"
#include "database/kernels/xgemm_direct/xgemm_direct_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry XgemmDirectHalf;
extern const DatabaseEntry XgemmDirectSingle;
extern const DatabaseEntry XgemmDirectComplexSingle;
extern const DatabaseEntry XgemmDirectDouble;
extern const DatabaseEntry XgemmDirectComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Xgemv' kernels.
//
// =================================================================================================
#include "database/kernels/xgemv/xgemv.hpp"
#include "database/kernels/xgemv/xgemv_16.hpp"
#include "database/kernels/xgemv/xgemv_32.hpp"
#include "database/kernels/xgemv/xgemv_3232.hpp"
#include "database/kernels/xgemv/xgemv_64.hpp"
#include "database/kernels/xgemv/xgemv_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/xgemv/xgemv_16.hpp"
#include "database/kernels/xgemv/xgemv_32.hpp"
#include "database/kernels/xgemv/xgemv_3232.hpp"
#include "database/kernels/xgemv/xgemv_64.hpp"
#include "database/kernels/xgemv/xgemv_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry XgemvHalf;
extern const DatabaseEntry XgemvSingle;
extern const DatabaseEntry XgemvComplexSingle;
extern const DatabaseEntry XgemvDouble;
extern const DatabaseEntry XgemvComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Xgemv_Fast' kernels.
//
// =================================================================================================
#include "database/kernels/xgemv_fast/xgemv_fast.hpp"
#include "database/kernels/xgemv_fast/xgemv_fast_16.hpp"
#include "database/kernels/xgemv_fast/xgemv_fast_32.hpp"
#include "database/kernels/xgemv_fast/xgemv_fast_3232.hpp"
#include "database/kernels/xgemv_fast/xgemv_fast_64.hpp"
#include "database/kernels/xgemv_fast/xgemv_fast_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/xgemv_fast/xgemv_fast_16.hpp"
#include "database/kernels/xgemv_fast/xgemv_fast_32.hpp"
#include "database/kernels/xgemv_fast/xgemv_fast_3232.hpp"
#include "database/kernels/xgemv_fast/xgemv_fast_64.hpp"
#include "database/kernels/xgemv_fast/xgemv_fast_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry XgemvFastHalf;
extern const DatabaseEntry XgemvFastSingle;
extern const DatabaseEntry XgemvFastComplexSingle;
extern const DatabaseEntry XgemvFastDouble;
extern const DatabaseEntry XgemvFastComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Xgemv_Fast_Rot' kernels.
//
// =================================================================================================
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot.hpp"
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot_16.hpp"
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot_32.hpp"
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot_3232.hpp"
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot_64.hpp"
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot_16.hpp"
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot_32.hpp"
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot_3232.hpp"
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot_64.hpp"
#include "database/kernels/xgemv_fast_rot/xgemv_fast_rot_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry XgemvFastRotHalf;
extern const DatabaseEntry XgemvFastRotSingle;
extern const DatabaseEntry XgemvFastRotComplexSingle;
extern const DatabaseEntry XgemvFastRotDouble;
extern const DatabaseEntry XgemvFastRotComplexDouble;
} // namespace database
} // namespace clblast

View File

@ -0,0 +1,15 @@
// =================================================================================================
// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. It
// is auto-generated by the 'scripts/database/database.py' Python script.
//
// This file populates the database with best-found tuning parameters for the 'Xger' kernels.
//
// =================================================================================================
#include "database/kernels/xger/xger.hpp"
#include "database/kernels/xger/xger_16.hpp"
#include "database/kernels/xger/xger_32.hpp"
#include "database/kernels/xger/xger_3232.hpp"
#include "database/kernels/xger/xger_64.hpp"
#include "database/kernels/xger/xger_6464.hpp"

View File

@ -7,8 +7,16 @@
//
// =================================================================================================
#include "database/kernels/xger/xger_16.hpp"
#include "database/kernels/xger/xger_32.hpp"
#include "database/kernels/xger/xger_3232.hpp"
#include "database/kernels/xger/xger_64.hpp"
#include "database/kernels/xger/xger_6464.hpp"
#include "database/database_structure.hpp"
namespace clblast {
namespace database {
extern const DatabaseEntry XgerHalf;
extern const DatabaseEntry XgerSingle;
extern const DatabaseEntry XgerComplexSingle;
extern const DatabaseEntry XgerDouble;
extern const DatabaseEntry XgerComplexDouble;
} // namespace database
} // namespace clblast