Une MAJ de sécurité est nécessaire sur notre version actuelle. Elle sera effectuée lundi 02/08 entre 12h30 et 13h. L'interruption de service devrait durer quelques minutes (probablement moins de 5 minutes).

Commit 898176f0 authored by THIBAULT Samuel's avatar THIBAULT Samuel
Browse files

Closer benchmark mult

parent 83930325
Pipeline #217400 passed with stages
in 1 minute and 31 seconds
......@@ -77,17 +77,18 @@ int main(int argc, char **argv)
if (ncpus == 0)
return 77;
/* Run about 30 tasks per CPU core */
n = ncpus * 30 / (nslicesx * nslicesy) + 1;
for (dim = 128; dim <= 2048; dim *= 2)
for (dim = 16; dim <= 8192; dim *= 2)
{
float *A[n], *B[n], *C[n];
starpu_data_handle_t A_handle[n], B_handle[n], C_handle[n];
xdim = ydim = dim;
printf("calibrating tile size %dx%d\n", dim / nslicesx, dim / nslicesy);
n = (8 << 20) / (dim * dim * ncpus);
if (n == 0)
n = 1;
float *A[n], *B[n], *C[n];
starpu_data_handle_t A_handle[n], B_handle[n], C_handle[n];
for (i = 0; i < n; i++)
{
/* initialize matrices A, B and C and register them to StarPU */
......
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME Exuberant Ctags //
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
!_TAG_PROGRAM_VERSION 5.9~svn20110310 //
A gemm/xgemm.c /^static TYPE *A, *B, *C;$/;" v file:
A mult.c /^static float *A, *B, *C;$/;" v file:
A_handle gemm/xgemm.c /^static starpu_data_handle_t A_handle, B_handle, C_handle;$/;" v file:
A_handle mult.c /^static starpu_data_handle_t A_handle, B_handle, C_handle;$/;" v file:
B gemm/xgemm.c /^static TYPE *A, *B, *C;$/;" v file:
B mult.c /^static float *A, *B, *C;$/;" v file:
B_handle gemm/xgemm.c /^static starpu_data_handle_t A_handle, B_handle, C_handle;$/;" v file:
B_handle mult.c /^static starpu_data_handle_t A_handle, B_handle, C_handle;$/;" v file:
C gemm/xgemm.c /^static TYPE *A, *B, *C;$/;" v file:
C mult.c /^static float *A, *B, *C;$/;" v file:
CC Makefile /^CC = gcc$/;" m
CC mpi/Makefile /^CC=mpicc$/;" m
CPU_ASUM gemm/double.h 21;" d
CPU_ASUM gemm/simple.h 21;" d
CPU_GEMM gemm/double.h 20;" d
CPU_GEMM gemm/simple.h 20;" d
CPU_IAMAX gemm/double.h 22;" d
CPU_IAMAX gemm/simple.h 22;" d
CUBLAS_GEMM gemm/double.h 19;" d
CUBLAS_GEMM gemm/simple.h 19;" d
C_handle gemm/xgemm.c /^static starpu_data_handle_t A_handle, B_handle, C_handle;$/;" v file:
C_handle mult.c /^static starpu_data_handle_t A_handle, B_handle, C_handle;$/;" v file:
FPRINTF gemm/xgemm.c 44;" d file:
FPRINTF mpi/insert_task.c 22;" d file:
FPRINTF mpi/stencil5.c 22;" d file:
FPRINTF_MPI mpi/stencil5.c 23;" d file:
N vector_scal_task_insert_filter.c 27;" d file:
NITER mpi/ring_async_implicit.c 20;" d file:
NITER_DEF mpi/stencil5.c 51;" d file:
NITER_DEF mpi/stencil5.c 55;" d file:
NITER_DEF mpi/stencil5.c 59;" d file:
NX vector_scal0.c 20;" d file:
NX vector_scal_task_insert.c 27;" d file:
NX vector_scal_task_insert_filter.c 28;" d file:
PROGS Makefile /^PROGS=vector_scal0 vector_scal_task_insert vector_scal_task_insert_filter mult gemm\/sgemm gemm\/dgemm$/;" m
STARPU_CONFIG Makefile /^STARPU_CONFIG=$(shell pkg-config --variable=includedir starpu-$(STARPU_VERSION))\/starpu\/$(STARPU_VERSION)\/starpu_config.h$/;" m
STARPU_DASUM gemm/common/blas.c /^inline double STARPU_DASUM(int N, double *X, int incX) { }$/;" f
STARPU_DASUM gemm/common/blas.c /^inline double STARPU_DASUM(int N, double *X, int incX)$/;" f
STARPU_DAXPY gemm/common/blas.c /^void STARPU_DAXPY(const int n, const double alpha, double *X, const int incX, double *Y, const int incY) { }$/;" f
STARPU_DAXPY gemm/common/blas.c /^void STARPU_DAXPY(const int n, const double alpha, double *X, const int incX, double *Y, const int incY)$/;" f
STARPU_DDOT gemm/common/blas.c /^double STARPU_DDOT(const int n, const double *x, const int incx, const double *y, const int incy) { }$/;" f
STARPU_DDOT gemm/common/blas.c /^double STARPU_DDOT(const int n, const double *x, const int incx, const double *y, const int incy)$/;" f
STARPU_DGEMM gemm/common/blas.c /^inline void STARPU_DGEMM(char *transa, char *transb, int M, int N, int K, $/;" f
STARPU_DGEMV gemm/common/blas.c /^inline void STARPU_DGEMV(char *transa, int M, int N, double alpha, double *A, int lda, double *X, int incX, double beta, double *Y, int incY)$/;" f
STARPU_DGEMV gemm/common/blas.c /^inline void STARPU_DGEMV(char *transa, int M, int N, double alpha, double *A, int lda,$/;" f
STARPU_DGER gemm/common/blas.c /^void STARPU_DGER(const int m, const int n, const double alpha,$/;" f
STARPU_DSCAL gemm/common/blas.c /^void STARPU_DSCAL(int N, double alpha, double *X, int incX) { }$/;" f
STARPU_DSCAL gemm/common/blas.c /^void STARPU_DSCAL(int N, double alpha, double *X, int incX)$/;" f
STARPU_DSWAP gemm/common/blas.c /^void STARPU_DSWAP(const int n, double *X, const int incX, double *Y, const int incY) { }$/;" f
STARPU_DSWAP gemm/common/blas.c /^void STARPU_DSWAP(const int n, double *X, const int incX, double *Y, const int incY)$/;" f
STARPU_DSWAP gemm/common/blas.c /^void STARPU_DSWAP(const int n, double *x, const int incx, double *y, const int incy)$/;" f
STARPU_DTRMM gemm/common/blas.c /^void STARPU_DTRMM(const char *side, const char *uplo, const char *transA,$/;" f
STARPU_DTRSM gemm/common/blas.c /^void STARPU_DTRSM (const char *side, const char *uplo, const char *transa,$/;" f
STARPU_GEMM gemm/double.h 23;" d
STARPU_GEMM gemm/simple.h 23;" d
STARPU_GEMM_STR gemm/double.h 27;" d
STARPU_GEMM_STR gemm/simple.h 27;" d
STARPU_IDAMAX gemm/common/blas.c /^int STARPU_IDAMAX (const int n, double *X, const int incX) { }$/;" f
STARPU_IDAMAX gemm/common/blas.c /^int STARPU_IDAMAX (const int n, double *X, const int incX)$/;" f
STARPU_ISAMAX gemm/common/blas.c /^int STARPU_ISAMAX (const int n, float *X, const int incX) { }$/;" f
STARPU_ISAMAX gemm/common/blas.c /^int STARPU_ISAMAX (const int n, float *X, const int incX)$/;" f
STARPU_SASUM gemm/common/blas.c /^inline float STARPU_SASUM(int N, float *X, int incX) { }$/;" f
STARPU_SASUM gemm/common/blas.c /^inline float STARPU_SASUM(int N, float *X, int incX)$/;" f
STARPU_SAXPY gemm/common/blas.c /^void STARPU_SAXPY(const int n, const float alpha, float *X, const int incX, float *Y, const int incY) { }$/;" f
STARPU_SAXPY gemm/common/blas.c /^void STARPU_SAXPY(const int n, const float alpha, float *X, const int incX, float *Y, const int incY)$/;" f
STARPU_SDOT gemm/common/blas.c /^float STARPU_SDOT(const int n, const float *x, const int incx, const float *y, const int incy) { }$/;" f
STARPU_SDOT gemm/common/blas.c /^float STARPU_SDOT(const int n, const float *x, const int incx, const float *y, const int incy)$/;" f
STARPU_SGEMM gemm/common/blas.c /^inline void STARPU_SGEMM(char *transa, char *transb, int M, int N, int K, $/;" f
STARPU_SGEMV gemm/common/blas.c /^inline void STARPU_SGEMV(char *transa, int M, int N, float alpha, float *A, int lda, float *X, int incX, float beta, float *Y, int incY)$/;" f
STARPU_SGEMV gemm/common/blas.c /^inline void STARPU_SGEMV(char *transa, int M, int N, float alpha, float *A, int lda,$/;" f
STARPU_SGER gemm/common/blas.c /^void STARPU_SGER(const int m, const int n, const float alpha,$/;" f
STARPU_SSCAL gemm/common/blas.c /^void STARPU_SSCAL(int N, float alpha, float *X, int incX) { }$/;" f
STARPU_SSCAL gemm/common/blas.c /^void STARPU_SSCAL(int N, float alpha, float *X, int incX)$/;" f
STARPU_SSWAP gemm/common/blas.c /^void STARPU_SSWAP(const int n, float *X, const int incX, float *Y, const int incY) { }$/;" f
STARPU_SSWAP gemm/common/blas.c /^void STARPU_SSWAP(const int n, float *X, const int incX, float *Y, const int incY)$/;" f
STARPU_SSWAP gemm/common/blas.c /^void STARPU_SSWAP(const int n, float *x, const int incx, float *y, const int incy)$/;" f
STARPU_SSYR gemm/common/blas.c /^void STARPU_SSYR (const char *uplo, const int n, const float alpha,$/;" f
STARPU_SSYRK gemm/common/blas.c /^void STARPU_SSYRK (const char *uplo, const char *trans, const int n,$/;" f
STARPU_STRMM gemm/common/blas.c /^void STARPU_STRMM(const char *side, const char *uplo, const char *transA,$/;" f
STARPU_STRMV gemm/common/blas.c /^void STARPU_STRMV(const char *uplo, const char *transA, const char *diag,$/;" f
STARPU_STRSM gemm/common/blas.c /^void STARPU_STRSM (const char *side, const char *uplo, const char *transa,$/;" f
STARPU_STRSV gemm/common/blas.c /^void STARPU_STRSV (const char *uplo, const char *trans, const char *diag, $/;" f
STARPU_VERSION Makefile /^STARPU_VERSION=1.3$/;" m
TARGETS mpi/Makefile /^TARGETS = ring_async_implicit stencil5 insert_task$/;" m
TYPE gemm/double.h 17;" d
TYPE gemm/simple.h 17;" d
USE_CUDA Makefile /^USE_CUDA=1$/;" m
USE_ENERGY Makefile /^USE_ENERGY=1$/;" m
USE_OPENCL Makefile /^USE_OPENCL=1$/;" m
X mpi/insert_task.c 42;" d file:
X mpi/stencil5.c 52;" d file:
X mpi/stencil5.c 56;" d file:
X mpi/stencil5.c 60;" d file:
Y mpi/insert_task.c 43;" d file:
Y mpi/stencil5.c 53;" d file:
Y mpi/stencil5.c 57;" d file:
Y mpi/stencil5.c 61;" d file:
__BLAS_H__ gemm/common/blas.h 19;" d
__BLAS_MODEL_H__ gemm/common/blas_model.h 19;" d
check gemm/xgemm.c /^static unsigned check = 0;$/;" v file:
check_output gemm/xgemm.c /^static void check_output(void)$/;" f file:
cl gemm/xgemm.c /^static struct starpu_codelet cl =$/;" v typeref:struct:starpu_codelet file:
cl vector_scal_task_insert.c /^static struct starpu_codelet cl = {$/;" v typeref:struct:starpu_codelet file:
cl vector_scal_task_insert_filter.c /^static struct starpu_codelet cl = {$/;" v typeref:struct:starpu_codelet file:
cpu_mult gemm/xgemm.c /^static void cpu_mult(void *descr[], STARPU_ATTRIBUTE_UNUSED void *arg)$/;" f file:
cpu_mult mult_task.c /^static void cpu_mult(void *descr[], STARPU_ATTRIBUTE_UNUSED void *arg)$/;" f file:
cublas_mult gemm/xgemm.c /^static void cublas_mult(void *descr[], STARPU_ATTRIBUTE_UNUSED void *arg)$/;" f file:
display mpi/stencil5.c /^int display = 0;$/;" v
func_cpu mpi/insert_task.c /^void func_cpu(void *descr[], void *_args)$/;" f
gemm_cost gemm/common/blas_model.c /^double gemm_cost(struct starpu_task *task, unsigned nimpl)$/;" f
increment_cl mpi/ring_async_implicit.c /^static struct starpu_codelet increment_cl =$/;" v typeref:struct:starpu_codelet file:
increment_cpu mpi/ring_async_implicit.c /^void increment_cpu(void *descr[], STARPU_ATTRIBUTE_UNUSED void *_args)$/;" f
increment_token mpi/ring_async_implicit.c /^void increment_token(void)$/;" f
init_problem_data gemm/xgemm.c /^static void init_problem_data(void)$/;" f file:
init_problem_data mult_task.c /^void init_problem_data(float **A_r, float **B_r, float **C_r)$/;" f
launch_tasks mult_task.c /^int launch_tasks(starpu_data_handle_t A_handle, starpu_data_handle_t B_handle, starpu_data_handle_t C_handle)$/;" f
main gemm/xgemm.c /^int main(int argc, char **argv)$/;" f
main mpi/insert_task.c /^int main(int argc, char **argv)$/;" f
main mpi/ring_async_implicit.c /^int main(int argc, char **argv)$/;" f
main mpi/stencil5.c /^int main(int argc, char **argv)$/;" f
main mult.c /^int main(int argc, char **argv)$/;" f
main mult_bench.c /^int main(int argc, char **argv)$/;" f
main vector_scal0.c /^int main(void)$/;" f
main vector_scal_task_insert.c /^int main(void)$/;" f
main vector_scal_task_insert_filter.c /^int main(void)$/;" f
mult_cl mult_task.c /^struct starpu_codelet mult_cl =$/;" v typeref:struct:starpu_codelet
mult_energy_model mult_task.c /^static struct starpu_perfmodel mult_energy_model =$/;" v typeref:struct:starpu_perfmodel file:
mult_kernel_common gemm/xgemm.c /^static void mult_kernel_common(void *descr[], int type)$/;" f file:
mult_perf_model mult_task.c /^static struct starpu_perfmodel mult_perf_model =$/;" v typeref:struct:starpu_perfmodel file:
my_distrib mpi/insert_task.c /^int my_distrib(int x, int y, int nb_nodes)$/;" f
my_distrib mpi/stencil5.c /^int my_distrib(int x, int y, int nb_nodes)$/;" f
my_distrib2 mpi/stencil5.c /^int my_distrib2(int x, int y, int nb_nodes)$/;" f
mycodelet mpi/insert_task.c /^struct starpu_codelet mycodelet =$/;" v typeref:struct:starpu_codelet
niter gemm/xgemm.c /^static unsigned niter = 10;$/;" v file:
niter mpi/stencil5.c /^int niter = NITER_DEF;$/;" v
nslicesx gemm/xgemm.c /^static unsigned nslicesx = 4;$/;" v file:
nslicesx mult.c /^unsigned nslicesx = 4;$/;" v
nslicesx mult_bench.c /^unsigned nslicesx = 4;$/;" v
nslicesy gemm/xgemm.c /^static unsigned nslicesy = 4;$/;" v file:
nslicesy mult.c /^unsigned nslicesy = 4;$/;" v
nslicesy mult_bench.c /^unsigned nslicesy = 4;$/;" v
parse_args gemm/xgemm.c /^static void parse_args(int argc, char **argv)$/;" f file:
parse_args mpi/stencil5.c /^static void parse_args(int argc, char **argv)$/;" f file:
parse_args mult_args.c /^void parse_args(int argc, char **argv)$/;" f
partition_mult_data gemm/xgemm.c /^static void partition_mult_data(void)$/;" f file:
partition_mult_data mult_task.c /^void partition_mult_data(float *A, float *B, float *C,$/;" f
perfmodel vector_scal_task_insert.c /^static struct starpu_perfmodel perfmodel = {$/;" v typeref:struct:starpu_perfmodel file:
perfmodel vector_scal_task_insert_filter.c /^static struct starpu_perfmodel perfmodel = {$/;" v typeref:struct:starpu_perfmodel file:
programs vector_scal_task_insert.c /^struct starpu_opencl_program programs;$/;" v typeref:struct:starpu_opencl_program
programs vector_scal_task_insert_filter.c /^struct starpu_opencl_program programs;$/;" v typeref:struct:starpu_opencl_program
starpu_dgemm_model gemm/common/blas_model.h /^static struct starpu_perfmodel starpu_dgemm_model =$/;" v typeref:struct:starpu_perfmodel
starpu_dgemm_model_common gemm/common/blas_model.h /^static struct starpu_perfmodel starpu_dgemm_model_common =$/;" v typeref:struct:starpu_perfmodel
starpu_gemm_model gemm/xgemm.c /^static struct starpu_perfmodel starpu_gemm_model =$/;" v typeref:struct:starpu_perfmodel file:
starpu_sgemm_model gemm/common/blas_model.h /^static struct starpu_perfmodel starpu_sgemm_model =$/;" v typeref:struct:starpu_perfmodel
starpu_sgemm_model_common gemm/common/blas_model.h /^static struct starpu_perfmodel starpu_sgemm_model_common =$/;" v typeref:struct:starpu_perfmodel
stencil5_cl mpi/stencil5.c /^struct starpu_codelet stencil5_cl =$/;" v typeref:struct:starpu_codelet
stencil5_cpu mpi/stencil5.c /^void stencil5_cpu(void *descr[], void *_args)$/;" f
str gemm/double.h 25;" d
str gemm/simple.h 25;" d
token mpi/ring_async_implicit.c /^int token = 42;$/;" v
token_handle mpi/ring_async_implicit.c /^starpu_data_handle_t token_handle;$/;" v
unpartition_mult_data mult_task.c /^void unpartition_mult_data(starpu_data_handle_t A_handle, starpu_data_handle_t B_handle, starpu_data_handle_t C_handle)$/;" f
vector_scal_cpu vector_scal0.c /^void vector_scal_cpu(float *val, unsigned n, float factor)$/;" f
vector_scal_cpu vector_scal_cpu.c /^void vector_scal_cpu(void *buffers[], void *cl_arg)$/;" f
vector_scal_opencl vector_scal_opencl.c /^void vector_scal_opencl(void *buffers[], void *_args)$/;" f
xdim gemm/xgemm.c /^static unsigned xdim = 1024;$/;" v file:
xdim mult.c /^unsigned xdim = 1024;$/;" v
xdim mult_bench.c /^unsigned xdim = 1024;$/;" v
xstr gemm/double.h 26;" d
xstr gemm/simple.h 26;" d
ydim gemm/xgemm.c /^static unsigned ydim = 1024;$/;" v file:
ydim mult.c /^unsigned ydim = 1024;$/;" v
ydim mult_bench.c /^unsigned ydim = 1024;$/;" v
zdim gemm/xgemm.c /^static unsigned zdim = 1024;$/;" v file:
zdim mult.c /^unsigned zdim = 512;$/;" v
zdim mult_bench.c /^unsigned zdim = 512;$/;" v
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment