Browse Source

compile and execute julia example with autotools

Nathalie Furmento 5 years ago
parent
commit
2a2a31f694

+ 4 - 0
configure.ac

@@ -1281,7 +1281,9 @@ AC_MSG_CHECKING(whether CUDA should be used)
 AC_MSG_RESULT($enable_cuda)
 AC_SUBST(STARPU_USE_CUDA, $enable_cuda)
 AM_CONDITIONAL(STARPU_USE_CUDA, test x$enable_cuda = xyes)
+cc_or_nvcc=$CC
 if test x$enable_cuda = xyes; then
+   	cc_or_nvcc=$NVCC
 	AC_DEFINE(STARPU_USE_CUDA, [1], [CUDA support is activated])
 
 	# On Darwin, the libstdc++ dependency is not automatically added by nvcc
@@ -1369,6 +1371,8 @@ if test x$enable_cuda = xyes; then
 	LIBS="${SAVED_LIBS}"
 fi
 
+AC_SUBST(CC_OR_NVCC, $cc_or_nvcc)
+
 have_magma=no
 if test x$enable_cuda = xyes; then
 	PKG_CHECK_MODULES([MAGMA],  [magma], [

+ 3 - 0
julia/examples/mult/mult_starpu.sh.in

@@ -1,5 +1,8 @@
 #!@REALBASH@
 
+export JULIA_LOAD_PATH=@STARPU_SRC_DIR@/julia/src:$JULIA_LOAD_PATH
+export STARPU_JULIA_LIB=@STARPU_BUILD_DIR@/julia/src/.libs/libstarpujulia-1.3.so
+export STARPU_JULIA_BUILD=@STARPU_BUILD_DIR@/julia
 dirfile=@STARPU_SRC_DIR@/julia/examples/mult/
 srcfile=mult.jl
 if test ! -f $dirfile/$srcfile

+ 1 - 1
julia/src/Makefile.am

@@ -23,7 +23,7 @@ LIBS = $(top_builddir)/src/@LIBSTARPU_LINK@ @LIBS@ $(FXT_LIBS)
 AM_CPPFLAGS = -I$(top_srcdir)/include/ -I$(top_builddir)/include -I$(top_builddir)/src -I$(top_srcdir)/src -I$(top_srcdir)/julia/src
 AM_LDFLAGS = $(STARPU_OPENCL_LDFLAGS) $(STARPU_CUDA_LDFLAGS) $(FXT_LDFLAGS) -no-undefined
 
-SUBDIRS =
+SUBDIRS = dynamic_compiler
 
 lib_LTLIBRARIES = libstarpujulia-@STARPU_EFFECTIVE_VERSION@.la
 

+ 3 - 3
julia/src/StarPU.jl

@@ -639,11 +639,11 @@ function starpu_init()
             print(k,">>>>",CPU_CODELETS[k],"\n")
         end
     else
-        srcdir=get(ENV,"STARPU_JULIA_SRC",0)
+        srcdir=get(ENV,"STARPU_JULIA_BUILD",0)
         if (srcdir == 0)
-            error("Must define environment variable STARPU_JULIA_SRC")
+            error("Must define environment variable STARPU_JULIA_BUILD")
         end
-        makefile=string(srcdir, "/Makefile.julia")
+        makefile=string(srcdir, "/src/dynamic_compiler/Makefile")
         debug_print("generating codelet library with ")
         debug_print(makefile)
         run(`make -f $makefile generated_tasks.so`)

+ 12 - 14
julia/src/dynamic_compiler/Makefile.am

@@ -14,28 +14,26 @@
 # See the GNU Lesser General Public License in COPYING.LGPL for more details.
 #
 
+#LD=$(CC_OR_NVCC)
 LD=$(CC)
-
-ifeq ($(STARPU_USE_CUDA),yes)
-        LD := ${NVCC}
-endif
-
-AM_CFLAGS = -O3 -g -DSTRIDE=${STRIDE} $(shell pkg-config --cflags starpu-1.3)
-AM_CFLAGS += ${CFLAGS} -Wall -mavx -fomit-frame-pointer -march=native -ffast-math
-CUDA_CFLAGS = ${CFLAGS}
-#LDFLAGS +=$(shell pkg-config --libs starpu-1.3)
+AM_CPPFLAGS = -I$(abs_top_srcdir)/include/ -I$(abs_top_builddir)/src -I$(abs_top_builddir)/include
+AM_CFLAGS = -Wall $(STARPU_CUDA_CPPFLAGS) $(STARPU_OPENCL_CPPFLAGS) $(HWLOC_CFLAGS) $(GLOBAL_AM_CFLAGS)
+AM_CFLAGS += -fPIC -O3 -g -DSTRIDE=${STRIDE} -Wall -mavx -fomit-frame-pointer -march=native -ffast-math
+LIBS = $(top_builddir)/src/@LIBSTARPU_LINK@ @LIBS@
+#CUDA_CFLAGS = ${CFLAGS}
 
 EXTERNLIB=extern_tasks.so
 GENERATEDLIB=generated_tasks.so
 
 C_OBJECTS=$(patsubst %.c,%.o,$(wildcard gen*.c))
-CUDA_OBJECTS=$(patsubst %.cu,%.o,$(wildcard gen*.cu))
-ifneq ($(STARPU_USE_CUDA_CUDA),yes)
-	CUDA_OBJECTS:=
-endif
+#if STARPU_USE_CUDA
+#CUDA_OBJECTS=$(patsubst %.cu,%.o,$(wildcard gen*.cu))
+#else
+CUDA_OBJECTS=
+#endif
 
 %.o: %.c
-	$(CC) -c -fPIC $(CPU_CFLAGS) $^ -o $@
+	$(CC) -c $(AM_CPPFLAGS) $(AM_CFLAGS) $^ -o $@
 
 %.o: %.cu
 	$(NVCC) -dc $(CUDA_CFLAGS) $^ --shared --compiler-options '-fPIC' -o $@ $(LDFLAGS)