Skip to content

Commit

Permalink
Add alias of floating point types.
Browse files Browse the repository at this point in the history
  • Loading branch information
emfomy committed Sep 14, 2017
1 parent ab9a0ae commit de22bdd
Show file tree
Hide file tree
Showing 69 changed files with 713 additions and 659 deletions.
4 changes: 2 additions & 2 deletions check/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ function(ISVD_SET_TARGET_CHECK_CPU target)
isvd_set_target_mpi(${target} CXX)
isvd_set_target_blas(${target})
isvd_set_target_gtest(${target})
target_link_libraries(${target} checkisvd extmmio)
target_link_libraries(${target} checkisvd_gpu_none checkisvd_core_la extmmio)
target_compile_definitions(${target} PUBLIC "-DISVD_DATA_PATH=\"${PROJECT_SOURCE_DIR}/data\"")
endfunction()

Expand All @@ -45,7 +45,7 @@ function(ISVD_SET_TARGET_CHECK_GPU target)
isvd_set_target_blas(${target})
isvd_set_target_gtest(${target})
isvd_set_target_gpu(${target})
target_link_libraries(${target} checkisvd_gpu extmmio)
target_link_libraries(${target} checkisvd_gpu_magma checkisvd_core_la extmmio)
target_compile_definitions(${target} PUBLIC "-DISVD_DATA_PATH=\"${PROJECT_SOURCE_DIR}/data\"")
endfunction()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#define serr 1e-3
#define derr 1e-8

typedef @xtype@ isvd_val_t;
typedef @xtype_____@ isvd_val_t;

TEST(@XStr@_HierarchicalReductionIntegration, Test) {

Expand Down Expand Up @@ -97,7 +97,7 @@ TEST(@XStr@_HierarchicalReductionIntegration, Test) {
// Gather results
isvd_val_t *qt_ = isvd_@x@malloc(l * Pmb);
isvd_int_t ldqt_ = l;
MPI_Gather(qt, mb*ldqt, MPI_@X_TYPE@, qt_, mb*ldqt, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(qt, mb*ldqt, MPI_@XTYPE@, qt_, mb*ldqt, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);

if ( mpi_rank == mpi_root ) {
// Compute space
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#define serr 1e-3
#define derr 1e-8

typedef @xtype@ isvd_val_t;
typedef @xtype_____@ isvd_val_t;

TEST(@XStr@_KolmogorovNagumoIntegration, Test) {

Expand Down Expand Up @@ -107,7 +107,7 @@ TEST(@XStr@_KolmogorovNagumoIntegration, Test) {
// Gather results
isvd_val_t *qt_ = isvd_@x@malloc(l * Pmb);
isvd_int_t ldqt_ = l;
MPI_Gather(qt, mb*ldqt, MPI_@X_TYPE@, qt_, mb*ldqt, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(qt, mb*ldqt, MPI_@XTYPE@, qt_, mb*ldqt, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);

// Check results
if ( mpi_rank == mpi_root ) {
Expand Down
4 changes: 2 additions & 2 deletions check/check/libisvd/core/stage/@x@_integrate_wen_yin.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#define serr 1e-3
#define derr 1e-8

typedef @xtype@ isvd_val_t;
typedef @xtype_____@ isvd_val_t;

TEST(@XStr@_WenYinIntegration, Test) {

Expand Down Expand Up @@ -107,7 +107,7 @@ TEST(@XStr@_WenYinIntegration, Test) {
// Gather results
isvd_val_t *qt_ = isvd_@x@malloc(l * Pmb);
isvd_int_t ldqt_ = l;
MPI_Gather(qt, mb*ldqt, MPI_@X_TYPE@, qt_, mb*ldqt, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(qt, mb*ldqt, MPI_@XTYPE@, qt_, mb*ldqt, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);

// Check results
if ( mpi_rank == mpi_root ) {
Expand Down
4 changes: 2 additions & 2 deletions check/check/libisvd/core/stage/@x@_orthogonalize_gramian.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#define serr 1e-3
#define derr 1e-8

typedef @xtype@ isvd_val_t;
typedef @xtype_____@ isvd_val_t;

TEST(@XStr@_GramianOrthogonalization, Test) {

Expand Down Expand Up @@ -95,7 +95,7 @@ TEST(@XStr@_GramianOrthogonalization, Test) {
// Gather results
isvd_val_t *qst_ = isvd_@x@malloc(Pmb * ldyst);
isvd_int_t ldqst_ = ldyst;
MPI_Gather(yst, mb*ldyst, MPI_@X_TYPE@, qst_, mb*ldyst, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(yst, mb*ldyst, MPI_@XTYPE@, qst_, mb*ldyst, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);

if ( mpi_rank == mpi_root ) {
// Compute space
Expand Down
6 changes: 3 additions & 3 deletions check/check/libisvd/core/stage/@x@_postprocess_gramian.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#define serr 1e-3
#define derr 1e-8

typedef @xtype@ isvd_val_t;
typedef @xtype_____@ isvd_val_t;

typedef enum {
GatherUV,
Expand Down Expand Up @@ -236,8 +236,8 @@ static void test( char dista, char ordera, const JobUV jobuv ) {
a, lda, qt, ldqt, s, ut, ldut, vt, ldvt, -1, -1);

// Gather results
MPI_Gather(ut, mb*ldut, MPI_@X_TYPE@, ut_, mb*ldut, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(vt, nb*ldvt, MPI_@X_TYPE@, vt_, nb*ldvt, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(ut, mb*ldut, MPI_@XTYPE@, ut_, mb*ldut, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(vt, nb*ldvt, MPI_@XTYPE@, vt_, nb*ldvt, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);

// Deallocate memory
isvd_free(ut);
Expand Down
4 changes: 2 additions & 2 deletions check/check/libisvd/core/stage/@x@_postprocess_symmetric.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#define serr 1e-3
#define derr 1e-8

typedef @xtype@ isvd_val_t;
typedef @xtype_____@ isvd_val_t;

typedef enum {
GatherUV,
Expand Down Expand Up @@ -203,7 +203,7 @@ static void test( char dista, char ordera, const JobUV jobuv ) {
a, lda, qt, ldqt, s, ut, ldut, NULL, 0, -1, -2);

// Gather results
MPI_Gather(ut, mb*ldut, MPI_@X_TYPE@, ut_, mb*ldut, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(ut, mb*ldut, MPI_@XTYPE@, ut_, mb*ldut, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);

// Deallocate memory
isvd_free(ut);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#define serr 1e-1
#define derr 1e-6

typedef @xtype@ isvd_val_t;
typedef @xtype_____@ isvd_val_t;

static void test( char dista, char ordera ) {

Expand Down Expand Up @@ -125,7 +125,7 @@ static void test( char dista, char ordera ) {
// Gather results
isvd_val_t *yst_ = isvd_@x@malloc(Nl * Pmb);
isvd_int_t ldyst_ = Nl;
MPI_Gather(yst, mb*ldyst, MPI_@X_TYPE@, yst_, mb*ldyst, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(yst, mb*ldyst, MPI_@XTYPE@, yst_, mb*ldyst, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);

// Check results
if ( mpi_rank == mpi_root ) {
Expand Down
6 changes: 3 additions & 3 deletions check/check/libisvd/gpu/stage/@x@_postprocess_gramian_gpu.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#define serr 1e-3
#define derr 1e-8

typedef @xtype@ isvd_val_t;
typedef @xtype_____@ isvd_val_t;

typedef enum {
GatherUV,
Expand Down Expand Up @@ -236,8 +236,8 @@ static void test( char dista, char ordera, const JobUV jobuv ) {
a, lda, qt, ldqt, s, ut, ldut, vt, ldvt, -1, -1);

// Gather results
MPI_Gather(ut, mb*ldut, MPI_@X_TYPE@, ut_, mb*ldut, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(vt, nb*ldvt, MPI_@X_TYPE@, vt_, nb*ldvt, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(ut, mb*ldut, MPI_@XTYPE@, ut_, mb*ldut, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(vt, nb*ldvt, MPI_@XTYPE@, vt_, nb*ldvt, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);

// Deallocate memory
isvd_free(ut);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#define serr 1e-3
#define derr 1e-8

typedef @xtype@ isvd_val_t;
typedef @xtype_____@ isvd_val_t;

typedef enum {
GatherUV,
Expand Down Expand Up @@ -203,7 +203,7 @@ static void test( char dista, char ordera, const JobUV jobuv ) {
a, lda, qt, ldqt, s, ut, ldut, NULL, 0, -1, -2);

// Gather results
MPI_Gather(ut, mb*ldut, MPI_@X_TYPE@, ut_, mb*ldut, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(ut, mb*ldut, MPI_@XTYPE@, ut_, mb*ldut, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);

// Deallocate memory
isvd_free(ut);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#define serr 1e-1
#define derr 1e-6

typedef @xtype@ isvd_val_t;
typedef @xtype_____@ isvd_val_t;

static void test( char dista, char ordera ) {

Expand Down Expand Up @@ -125,7 +125,7 @@ static void test( char dista, char ordera ) {
// Gather results
isvd_val_t *yst_ = isvd_@x@malloc(Nl * Pmb);
isvd_int_t ldyst_ = Nl;
MPI_Gather(yst, mb*ldyst, MPI_@X_TYPE@, yst_, mb*ldyst, MPI_@X_TYPE@, mpi_root, MPI_COMM_WORLD);
MPI_Gather(yst, mb*ldyst, MPI_@XTYPE@, yst_, mb*ldyst, MPI_@XTYPE@, mpi_root, MPI_COMM_WORLD);

// Check results
if ( mpi_rank == mpi_root ) {
Expand Down
43 changes: 22 additions & 21 deletions check/lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,30 @@ endforeach()
file(RENAME "${CMAKE_CURRENT_CONFIG_DIR}/libisvd/core/param.cxx"
"${CMAKE_CURRENT_CONFIG_DIR}/libisvd/core/param.c")

# checkisvd
# checkisvd_core_la
file(GLOB_RECURSE files "${CMAKE_CURRENT_CONFIG_DIR}/libisvd/core/*"
"${CMAKE_CURRENT_CONFIG_DIR}/libisvd/la/*"
"${CMAKE_CURRENT_CONFIG_DIR}/libisvd/util/*"
"${CMAKE_CURRENT_CONFIG_DIR}/libisvd/nogpu/*")
add_library(checkisvd EXCLUDE_FROM_ALL ${files})
isvd_set_target(checkisvd)
isvd_set_target_omp(checkisvd CXX)
isvd_set_target_mpi(checkisvd CXX)
isvd_set_target_blas(checkisvd)
isvd_set_target_gtest(checkisvd)
"${CMAKE_CURRENT_CONFIG_DIR}/libisvd/util/*")
add_library(checkisvd_core_la EXCLUDE_FROM_ALL ${files})
isvd_set_target(checkisvd_core_la)
isvd_set_target_omp(checkisvd_core_la CXX)
isvd_set_target_mpi(checkisvd_core_la CXX)
isvd_set_target_blas(checkisvd_core_la)
isvd_set_target_gtest(checkisvd_core_la)

# checkisvd_gpu
# checkisvd_gpu_none
file(GLOB_RECURSE files "${CMAKE_CURRENT_CONFIG_DIR}/libisvd/nogpu/*")
add_library(checkisvd_gpu_none EXCLUDE_FROM_ALL ${files})
isvd_set_target(checkisvd_gpu_none)
isvd_set_target_mpi(checkisvd_gpu_none CXX)
isvd_set_target_gtest(checkisvd_gpu_none)

# checkisvd_gpu_magma
if(ISVD_USE_GPU)
file(GLOB_RECURSE files "${CMAKE_CURRENT_CONFIG_DIR}/libisvd/core/*"
"${CMAKE_CURRENT_CONFIG_DIR}/libisvd/la/*"
"${CMAKE_CURRENT_CONFIG_DIR}/libisvd/util/*"
"${CMAKE_CURRENT_CONFIG_DIR}/libisvd/gpu/*")
add_library(checkisvd_gpu EXCLUDE_FROM_ALL ${files})
isvd_set_target(checkisvd_gpu)
isvd_set_target_omp(checkisvd_gpu CXX)
isvd_set_target_mpi(checkisvd_gpu CXX)
isvd_set_target_blas(checkisvd_gpu)
isvd_set_target_gpu(checkisvd_gpu)
isvd_set_target_gtest(checkisvd_gpu)
file(GLOB_RECURSE files "${CMAKE_CURRENT_CONFIG_DIR}/libisvd/gpu/*")
add_library(checkisvd_gpu_magma EXCLUDE_FROM_ALL ${files})
isvd_set_target(checkisvd_gpu_magma)
isvd_set_target_mpi(checkisvd_gpu_magma CXX)
isvd_set_target_gpu(checkisvd_gpu_magma)
isvd_set_target_gtest(checkisvd_gpu_magma)
endif()
30 changes: 15 additions & 15 deletions cmake/vars.cmake
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Types definitions
macro(ISVD_SET_TYPES x_ xtype_ x_type_ XName_ XStr_)
macro(ISVD_SET_TYPES x_ xtype_ XName_ XStr_)
string(TOLOWER "${x_}" x)
string(TOUPPER "${x_}" X)

set(xtype ${xtype_})
set(xtype_____ ${xtype_})

string(TOUPPER "${x_type_}" X_TYPE)
string(TOUPPER "${xtype_}" XTYPE)

string(TOLOWER "${XName_}" xname)
set(XName "${XName_}")
Expand All @@ -17,30 +17,30 @@ unset(ISVD_S_TYPES)
unset(ISVD_D_TYPES)
unset(ISVD_C_TYPES)
unset(ISVD_Z_TYPES)
list(APPEND ISVD_S_TYPES "s" "float" "float" "Real Single" "RealSingle")
list(APPEND ISVD_D_TYPES "d" "double" "double" "Real Double" "RealDouble")
list(APPEND ISVD_C_TYPES "c" "_Complex float" "complex_float" "Complex Single" "ComplexSingle")
list(APPEND ISVD_Z_TYPES "z" "_Complex double" "complex_double" "Complex Double" "ComplexDouble")
list(APPEND ISVD_S_TYPES "s" "isvd_s_val_t" "Real Single" "RealSingle")
list(APPEND ISVD_D_TYPES "d" "isvd_d_val_t" "Real Double" "RealDouble")
list(APPEND ISVD_C_TYPES "c" "isvd_c_val_t" "Complex Single" "ComplexSingle")
list(APPEND ISVD_Z_TYPES "z" "isvd_z_val_t" "Complex Double" "ComplexDouble")

# BLAS definitions
set(
ISVD_LA_BLAS_TYPE_DEFINE
ISVD_TYPE_MACRO_DEFINE
"#define CHAR1 char"
"#define INT isvd_int_t"
"#define REAL4 float"
"#define REAL8 double"
"#define COMP4 _Complex float"
"#define COMP8 _Complex double"
"#define REAL4 isvd_s_val_t"
"#define REAL8 isvd_d_val_t"
"#define COMP4 isvd_c_val_t"
"#define COMP8 isvd_z_val_t"
)
string(REPLACE ";" "\n" ISVD_LA_BLAS_TYPE_DEFINE "${ISVD_LA_BLAS_TYPE_DEFINE}")
string(REPLACE ";" "\n" ISVD_TYPE_MACRO_DEFINE "${ISVD_TYPE_MACRO_DEFINE}")

set(
ISVD_LA_BLAS_TYPE_UNDEF
ISVD_TYPE_MACRO_UNDEF
"#undef CHAR1"
"#undef INT"
"#undef REAL4"
"#undef REAL8"
"#undef COMP4"
"#undef COMP8"
)
string(REPLACE ";" "\n" ISVD_LA_BLAS_TYPE_UNDEF "${ISVD_LA_BLAS_TYPE_UNDEF}")
string(REPLACE ";" "\n" ISVD_TYPE_MACRO_UNDEF "${ISVD_TYPE_MACRO_UNDEF}")
15 changes: 7 additions & 8 deletions cpplint/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,14 @@ find_program(CMAKE_CPPLINT cpplint)
mark_as_advanced(CMAKE_CPPLINT)

# Macro
function(SET_CPPLINT_TARGET path)
function(SET_CPPLINT_TARGET path linelength filter)
string(REPLACE "/" "_" target ${path})
add_custom_target(
cpplint_${target}
COMMAND ${CMAKE_CPPLINT} --recursive --root=${PROJECT_BINARY_DIR}/${path} ${ARGN} ${path}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
add_custom_command(
TARGET cpplint POST_BUILD
COMMAND ${CMAKE_CPPLINT} --recursive --root="${PROJECT_BINARY_DIR}/${path}" --linelength=${linelength} --filter=${filter} ${path}
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}"
COMMENT "Run cpplint for ${path}"
)
add_dependencies(cpplint cpplint_${target})
endfunction()

# CppLint
Expand All @@ -24,5 +23,5 @@ add_custom_target(
COMMENT "Run cpplint"
)

set_cpplint_target(include/c --linelength=128 --filter=-build/include,-build/include_order,-readability/casting,-whitespace/blank_line,-whitespace/braces,-whitespace/parens)
set_cpplint_target(lib --linelength=128 --filter=-build/include,-build/include_order,-build/include_what_you_use,-readability/casting,-whitespace/blank_line,-whitespace/braces,-whitespace/parens)
set_cpplint_target(include/c 128 "-build/include,-build/include_order,-readability/casting,-whitespace/blank_line,-whitespace/braces,-whitespace/parens")
set_cpplint_target(lib 128 "-build/include,-build/include_order,-build/include_what_you_use,-readability/casting,-whitespace/blank_line,-whitespace/braces,-whitespace/parens")
6 changes: 3 additions & 3 deletions src/include/c/isvd/core/@x@_driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ extern "C" {
void isvd_@x@Isvd(
const char *alg_s, const char *alg_o, const char *alg_i, const char *alg_p,
const isvd_int_t m, const isvd_int_t n, const isvd_int_t k, const isvd_int_t p, const isvd_int_t N,
const @xtype@ *argv[4], const isvd_int_t argc[4], @xtype@ *retv[4], const isvd_int_t retc[4],
const @xtype_____@ *argv[4], const isvd_int_t argc[4], @xtype_____@ *retv[4], const isvd_int_t retc[4],
double time[4], FILE *stream,
const char dista, const char ordera, const @xtype@ *a, const isvd_int_t lda,
@xtype@ *s, @xtype@ *ut, const isvd_int_t ldut, @xtype@ *vt, const isvd_int_t ldvt,
const char dista, const char ordera, const @xtype_____@ *a, const isvd_int_t lda,
@xtype_____@ *s, @xtype_____@ *ut, const isvd_int_t ldut, @xtype_____@ *vt, const isvd_int_t ldvt,
const isvd_int_t seed, const mpi_int_t ut_root, const mpi_int_t vt_root,
const mpi_int_t mpi_root, const isvd_MpiComm mpi_comm
);
Expand Down
Loading

0 comments on commit de22bdd

Please sign in to comment.