Explorar el Código

Merge branch 'master' of git+ssh://scm.gforge.inria.fr/gitroot/starpu/starpu into ft_checkpoint

Romain LION hace 5 años
padre
commit
976e6ba7f9
Se han modificado 3 ficheros con 31 adiciones y 29 borrados
  1. 3 2
      julia/StarPU.jl/Makefile
  2. 15 13
      julia/StarPU.jl/src/StarPU.jl
  3. 13 14
      julia/mult/makefile

+ 3 - 2
julia/StarPU.jl/Makefile

@@ -2,6 +2,7 @@ SRCS=src/jlstarpu_task_submit.c src/jlstarpu_simple_functions.c src/jlstarpu_dat
 CC = gcc
 CFLAGS += $(shell pkg-config --cflags starpu-1.3)
 LDFLAGS += $(shell pkg-config --libs starpu-1.3)
-# for Mac, using .dylib
-lib/libjlstarpu_c_wrapper.dylib: ${SRCS}
+
+lib/libjlstarpu_c_wrapper.so: ${SRCS}
+	test -d lib || mkdir lib
 	$(CC) -O3 -shared -fPIC $(CFLAGS) $^ -o $@ $(LDFLAGS)

+ 15 - 13
julia/StarPU.jl/src/StarPU.jl

@@ -12,14 +12,14 @@ export STARPU_CUDA
 const  STARPU_CPU = 1 << 1
 const  STARPU_CUDA = 1 << 3
 
-global starpu_task_library_name="libjlstarpu_c_wrapper"
+const starpu_task_library_name="libjlstarpu_c_wrapper.so"
 global starpu_tasks_library_handle = C_NULL
 global starpu_target=STARPU_CPU
 
 include("compiler/include.jl")
 
 macro starpufunc(symbol)
-    :($symbol, "libjlstarpu_c_wrapper")
+    :($symbol, starpu_task_library_name)
 end
 
 """
@@ -27,7 +27,7 @@ end
     Works as ccall function
 """
 macro starpucall(func, ret_type, arg_types, args...)
-    return Expr(:call, :ccall, (func, "libjlstarpu_c_wrapper"), esc(ret_type), esc(arg_types), map(esc, args)...)
+    return Expr(:call, :ccall, (func, starpu_task_library_name), esc(ret_type), esc(arg_types), map(esc, args)...)
 end
 
 export @debugprint
@@ -103,13 +103,14 @@ export StarpuCodelet
 
 const jlstarpu_allocated_structures = Vector{Ptr{Cvoid}}([])
 @enum(StarpuPerfmodelType,
-    STARPU_PERFMODEL_INVALID = 0,
-	STARPU_PER_ARCH = 1,
-	STARPU_COMMON = 2,
-	STARPU_HISTORY_BASED = 3,
-	STARPU_REGRESSION_BASED = 4,
-	STARPU_NL_REGRESSION_BASED = 5,
-	STARPU_MULTIPLE_REGRESSION_BASED = 6
+      STARPU_PERFMODEL_INVALID = 0,
+      STARPU_PER_WORKER = 1,
+      STARPU_PER_ARCH = 2,
+      STARPU_COMMON = 3,
+      STARPU_HISTORY_BASED = 4,
+      STARPU_REGRESSION_BASED = 5,
+      STARPU_NL_REGRESSION_BASED = 6,
+      STARPU_MULTIPLE_REGRESSION_BASED = 7
 )
 mutable struct StarpuPerfmodel_c
 
@@ -117,6 +118,7 @@ mutable struct StarpuPerfmodel_c
 
     cost_function :: Ptr{Cvoid}
     arch_cost_function :: Ptr{Cvoid}
+    worker_cost_function :: Ptr{Cvoid}
 
     size_base :: Ptr{Cvoid}
     footprint :: Ptr{Cvoid}
@@ -584,8 +586,8 @@ function starpu_init()
         end
     else
         @debugprint "generating codelet library"
-        system("make generated_tasks.dylib")
-        global starpu_tasks_library_handle=Libdl.dlopen("generated_tasks")
+        run(`make generated_tasks.so`);
+        global starpu_tasks_library_handle=Libdl.dlopen("generated_tasks.so")
     end
     output = @starpucall jlstarpu_init Cint ()
 
@@ -1230,7 +1232,7 @@ macro starpu_noparam_function(func_name, ret_type)
 
     quote
         export $func
-        global $func() = ccall(($func_name, "libjlstarpu_c_wrapper"),
+        global $func() = ccall(($func_name, starpu_task_library_name),
                                 $ret_type, ()) :: $ret_type
     end
 end

+ 13 - 14
julia/mult/makefile

@@ -5,19 +5,20 @@ STRIDE=72
 #CC =icc
 #CFLAGS=-restrict -unroll4 -ipo -falign-loops=256 -O3 -DSTRIDE=${STRIDE} -march=native $(shell pkg-config --cflags starpu-1.3)
 # GCC compiler
-CC=gcc-9
-CFLAGS += -O3 -DSTRIDE=${STRIDE} -mavx -mfma -fomit-frame-pointer -march=native -ffast-math $(shell pkg-config --cflags starpu-1.3)
+CC=gcc
+CFLAGS += -O3 -DSTRIDE=${STRIDE} -mavx -fomit-frame-pointer -march=native -ffast-math $(shell pkg-config --cflags starpu-1.3)
 
 LDFLAGS +=$(shell pkg-config --libs starpu-1.3)
-EXTERNLIB=extern_tasks.dylib
-GENERATEDLIB=generated_tasks.dylib
-OBJECTS=$(patsubst %.c,%.o,$(wildcard gen*.c))
+EXTERNLIB=extern_tasks.so
+GENERATEDLIB=generated_tasks.so
+#OBJECTS=$(patsubst %.c,%.o,$(wildcard gen*.c))
+OBJECTS=$(wildcard gen*.c)
 LIBPATH=${PWD}/../StarPU.jl/lib
 
-all: ${EXTERNLIB} 
+all: ${EXTERNLIB}
 
-mult: mult.c cpu_mult.o #gpu_mult.o 
-	$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)	
+mult: mult.c cpu_mult.o #gpu_mult.o
+	$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
 
 gpu_mult.o: gpu_mult.cu
 	nvcc -c $(CFLAGS) $^ -o $@
@@ -25,8 +26,8 @@ gpu_mult.o: gpu_mult.cu
 %.o: %.c
 	$(CC) -c $(CFLAGS) $^ -o $@
 
-${EXTERNLIB}: cpu_mult.o
-	$(CC) -shared -fPIC $(LDFLAGS) $^ -o $@  
+${EXTERNLIB}: cpu_mult.c
+	$(CC) $(CFLAGS) -shared -fPIC $(LDFLAGS) $^ -o $@
 
 gpu_mult.so: gpu_mult.o
 	nvcc $(CFLAGS) $^ --shared --compiler-options '-fPIC' -o $@ $(LDFLAGS)
@@ -35,10 +36,10 @@ cpu_mult_sa: cpu_mult_sa.o
 	$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
 
 ${GENERATEDLIB}: ${OBJECTS}
-	$(CC) -shared -fPIC $(LDFLAGS) $^ -o $@
+	$(CC) $(CFLAGS) -shared -fPIC $(LDFLAGS) $^ -o $@
 
 clean:
-	rm *.so *.o *.dylib c_*.genc gencuda_*.cu *.dat
+	rm -f mult *.so *.o c_*.genc gencuda_*.cu *.dat
 
 # Performance Tests
 cstarpu.dat: mult
@@ -51,5 +52,3 @@ julia_calllib.dat: ${EXTERNLIB}
 	LD_LIBRARY_PATH+=${LIBPATH} JULIA_TASK_LIB="${EXTERNLIB}" STARPU_NOPENCL=0 STARPU_SCHED=dmda STARPU_CALIBRATE=1 julia mult.jl julia_calllib.dat
 
 test: cstarpu.dat julia_generatedc.dat julia_native.dat julia_calllib.dat
-
-