diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt index c3e38018136570089a9e8a7572123f7ceb7122ad..715f4ed1b8341dd69b107a0e8f44d1db3092f779 100644 --- a/benchmarks/CMakeLists.txt +++ b/benchmarks/CMakeLists.txt @@ -11,5 +11,7 @@ add_subdirectory(emper_fiber) add_subdirectory(fibril) -add_subdirectory(cilkplus) +add_subdirectory(fibril_lf) + +#add_subdirectory(cilkplus) diff --git a/benchmarks/fibril_lf/CMakeLists.txt b/benchmarks/fibril_lf/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..60a92b935a8d97905f8218b4420f97a1f853863f --- /dev/null +++ b/benchmarks/fibril_lf/CMakeLists.txt @@ -0,0 +1,41 @@ + +add_definitions(-DFIBRIL_FIBRIL_LF) + +find_library(FIBRIL_LIB fibril /home/nicolas/uni/ma/fibril_wf/build/lib) + + +add_executable(cholesky_fibril_lf ../cholesky.cpp) +target_link_libraries(cholesky_fibril_lf "${FIBRIL_LIB}") + +add_executable(fft_fibril_lf ../fft.cpp) +target_link_libraries(fft_fibril_lf "${FIBRIL_LIB}") + +add_executable(fib_fibril_lf ../fib.cpp) +target_link_libraries(fib_fibril_lf "${FIBRIL_LIB}") + +add_executable(heat_fibril_lf ../heat.cpp) +target_link_libraries(heat_fibril_lf "${FIBRIL_LIB}") + +add_executable(integrate_fibril_lf ../integrate.cpp) +target_link_libraries(integrate_fibril_lf "${FIBRIL_LIB}") + +add_executable(knapsack_fibril_lf ../knapsack.cpp) +target_link_libraries(knapsack_fibril_lf "${FIBRIL_LIB}") + +add_executable(lu_fibril_lf ../lu.cpp) +target_link_libraries(lu_fibril_lf "${FIBRIL_LIB}") + +add_executable(matmul_fibril_lf ../matmul.cpp) +target_link_libraries(matmul_fibril_lf "${FIBRIL_LIB}") + +add_executable(nqueens_fibril_lf ../nqueens.cpp) +target_link_libraries(nqueens_fibril_lf "${FIBRIL_LIB}") + +add_executable(quicksort_fibril_lf ../quicksort.cpp) +target_link_libraries(quicksort_fibril_lf "${FIBRIL_LIB}") + +add_executable(rectmul_fibril_lf ../rectmul.cpp) +target_link_libraries(rectmul_fibril_lf "${FIBRIL_LIB}") + +add_executable(strassen_fibril_lf ../strassen.cpp) +target_link_libraries(strassen_fibril_lf "${FIBRIL_LIB}") diff --git a/benchmarks/fibril_lf/fork.h b/benchmarks/fibril_lf/fork.h new file mode 100644 index 0000000000000000000000000000000000000000..8ab080b0a3b966d44e4277d6d409675282bdbc1e --- /dev/null +++ b/benchmarks/fibril_lf/fork.h @@ -0,0 +1,70 @@ +#ifndef FIBRIL_FORK_H +#define FIBRIL_FORK_H + +#define _fibril_defs(...) \ + _fibril_defs_(_fibril_nth(__VA_ARGS__), ## __VA_ARGS__) +#define _fibril_defs_(n, ...) \ + _fibril_concat(_fibril_defs_, n)(__VA_ARGS__) +#define _fibril_defs_16(a,...) __typeof__(a) a16,_fibril_defs_15(__VA_ARGS__) +#define _fibril_defs_15(a,...) __typeof__(a) a15,_fibril_defs_14(__VA_ARGS__) +#define _fibril_defs_14(a,...) __typeof__(a) a14,_fibril_defs_13(__VA_ARGS__) +#define _fibril_defs_13(a,...) __typeof__(a) a13,_fibril_defs_12(__VA_ARGS__) +#define _fibril_defs_12(a,...) __typeof__(a) a12,_fibril_defs_11(__VA_ARGS__) +#define _fibril_defs_11(a,...) __typeof__(a) a11,_fibril_defs_10(__VA_ARGS__) +#define _fibril_defs_10(a,...) __typeof__(a) a10,_fibril_defs_9 (__VA_ARGS__) +#define _fibril_defs_9(a, ...) __typeof__(a) a9, _fibril_defs_8 (__VA_ARGS__) +#define _fibril_defs_8(a, ...) __typeof__(a) a8, _fibril_defs_7 (__VA_ARGS__) +#define _fibril_defs_7(a, ...) __typeof__(a) a7, _fibril_defs_6 (__VA_ARGS__) +#define _fibril_defs_6(a, ...) __typeof__(a) a6, _fibril_defs_5 (__VA_ARGS__) +#define _fibril_defs_5(a, ...) __typeof__(a) a5, _fibril_defs_4 (__VA_ARGS__) +#define _fibril_defs_4(a, ...) __typeof__(a) a4, _fibril_defs_3 (__VA_ARGS__) +#define _fibril_defs_3(a, ...) __typeof__(a) a3, _fibril_defs_2 (__VA_ARGS__) +#define _fibril_defs_2(a, ...) __typeof__(a) a2, _fibril_defs_1 (__VA_ARGS__) +#define _fibril_defs_1(a) __typeof__(a) a1, +#define _fibril_defs_0() + +#define _fibril_args(...) \ + _fibril_args_(_fibril_nth(__VA_ARGS__), ## __VA_ARGS__) +#define _fibril_args_(n, ...) \ + _fibril_concat(_fibril_args_, n)(__VA_ARGS__) +#define _fibril_args_16(a,...) a16,_fibril_args_15(__VA_ARGS__) +#define _fibril_args_15(a,...) a15,_fibril_args_14(__VA_ARGS__) +#define _fibril_args_14(a,...) a14,_fibril_args_13(__VA_ARGS__) +#define _fibril_args_13(a,...) a13,_fibril_args_12(__VA_ARGS__) +#define _fibril_args_12(a,...) a12,_fibril_args_11(__VA_ARGS__) +#define _fibril_args_11(a,...) a11,_fibril_args_10(__VA_ARGS__) +#define _fibril_args_10(a,...) a10,_fibril_args_9 (__VA_ARGS__) +#define _fibril_args_9(a, ...) a9, _fibril_args_8 (__VA_ARGS__) +#define _fibril_args_8(a, ...) a8, _fibril_args_7 (__VA_ARGS__) +#define _fibril_args_7(a, ...) a7, _fibril_args_6 (__VA_ARGS__) +#define _fibril_args_6(a, ...) a6, _fibril_args_5 (__VA_ARGS__) +#define _fibril_args_5(a, ...) a5, _fibril_args_4 (__VA_ARGS__) +#define _fibril_args_4(a, ...) a4, _fibril_args_3 (__VA_ARGS__) +#define _fibril_args_3(a, ...) a3, _fibril_args_2 (__VA_ARGS__) +#define _fibril_args_2(a, ...) a2, _fibril_args_1 (__VA_ARGS__) +#define _fibril_args_1(a) a1 +#define _fibril_args_0() + +#define _fibril_expand(...) \ + _fibril_expand_(_fibril_nth(__VA_ARGS__), ## __VA_ARGS__) +#define _fibril_expand_(n, ...) \ + _fibril_concat(_fibril_expand_, n)(__VA_ARGS__) +#define _fibril_expand_16(...) __VA_ARGS__, +#define _fibril_expand_15(...) __VA_ARGS__, +#define _fibril_expand_14(...) __VA_ARGS__, +#define _fibril_expand_13(...) __VA_ARGS__, +#define _fibril_expand_12(...) __VA_ARGS__, +#define _fibril_expand_11(...) __VA_ARGS__, +#define _fibril_expand_10(...) __VA_ARGS__, +#define _fibril_expand_9( ...) __VA_ARGS__, +#define _fibril_expand_8( ...) __VA_ARGS__, +#define _fibril_expand_7( ...) __VA_ARGS__, +#define _fibril_expand_6( ...) __VA_ARGS__, +#define _fibril_expand_5( ...) __VA_ARGS__, +#define _fibril_expand_4( ...) __VA_ARGS__, +#define _fibril_expand_3( ...) __VA_ARGS__, +#define _fibril_expand_2( ...) __VA_ARGS__, +#define _fibril_expand_1( ...) __VA_ARGS__, +#define _fibril_expand_0() + +#endif /* end of include guard: FIBRIL_FORK_H */