Mael Keryell 8fb5d1fe16 Added benchmarks of StarPU in Julia 6 年之前
..
black_scholes 8fb5d1fe16 Added benchmarks of StarPU in Julia 6 年之前
includes 8fb5d1fe16 Added benchmarks of StarPU in Julia 6 年之前
mandelbrot 8fb5d1fe16 Added benchmarks of StarPU in Julia 6 年之前
mult 8fb5d1fe16 Added benchmarks of StarPU in Julia 6 年之前
nbody 8fb5d1fe16 Added benchmarks of StarPU in Julia 6 年之前
Makefile.mk f7abbfa6fc update copyright 6 年之前
README 1988c30cf6 README 6 年之前
cpu_cuda_mult.jl 1a842beecc julia wrapper 6 年之前
cpu_mult.c f7abbfa6fc update copyright 6 年之前
gpu_mult.cu f7abbfa6fc update copyright 6 年之前
mult.c f7abbfa6fc update copyright 6 年之前
mult_def.jl b971ff887f compiler for loop, comment 6 年之前
mult_extern.jl 1a842beecc julia wrapper 6 年之前
mult_generated.jl 1a842beecc julia wrapper 6 年之前

README



(Rename Makefile.mk to Makefile)

Command to compile tests and libjlstarpu_c_wrapper.co file, needed in current directory to launch starPU from Julia, and also run cpu_cuda_mult.jl, a Julia file which uses C/Cuda compiler in order to generate kernels from Julia code :

make



Then you can run julia matrix bloc multiplication tests. These tests run StarPU multiplication aglorithm on squared matrix of several sizes, and displays, for each size of matrix, the average execution time (format : "width ; time"):

"julia test_file start_dim step_dim stop_dim nb_tests nslicesx nslicesy"

- test_file : one of the julia files used for test. Can be
- "mult_extern.jl" to make Julia code run, but using C and Cuda written Kernel.
- "mult_generated.jl" to make Julia code run, with compiled C and Cuda kernels from Julia code

- start_dim, step_dim, stop_dim : The test will run with squared matrices with a side length tarting ti start_dim, and increasing of step_dim until reaching stop_dim.

- nb_tests : number of tests for each matrix size. The median value obtained is displayed.

- nslicesx, nslicesy : Matrix will be cut in nclicesx * nscliesy slices, one StarPU task per slice will run in each test.

Example : julia mult_generated.jl 64 64 256 10 4 4

You can define variable sin environnemnt to make starPu use proper cheduling polycy.
Example : STARPU_SCHED=dmda STARPU_CALIBRATE=1 julia mult_generated.jl 64 64 256 10 4 4



You can run the same test with same arguments, but with the C/Cuda version:

STARPU_SCHED=dmda STARPU_CALIBRATE=1 build/mult 64 64 256 10 4 4