--- /dev/null
+# Version : 0.0.4\r
+# Author : Cedric.Bilat@he-arc.ch\r
+#\r
+# Attention\r
+#\r
+# (A1) Dans les d�finitions de variables ci-dessous, m�fiez-vous des espaces � la fin!\r
+# (A2) Laisser espace apr�s le += de surcharge : exemple : xxx+= yyyy\r
+#\r
+\r
+ifndef __CUDA_VISUAL_PUBLIC_OPTION_MK__\r
+__CUDA_VISUAL_PUBLIC_OPTION_MK__=true\r
+\r
+###############################################\r
+# Cuda Visual Win #\r
+###############################################\r
+\r
+##################################\r
+# public #\r
+##################################\r
+\r
+########################\r
+# visual #\r
+########################\r
+\r
+#Option de compilation \r
+# Version minimale : vide\r
+# Surcharger automatiquement (par exemple en fonction du type de la target)\r
+\r
+#CXXFLAGS+=\r
+\r
+#################\r
+# Warning #\r
+#################\r
+\r
+#linkage dll\r
+CXXFLAGS+= /MD\r
+\r
+#################\r
+# Optimisation #\r
+#################\r
+\r
+# General\r
+CXX_OPTIMISATION+= /Ox # All optimisation\r
+\r
+# CPU specific\r
+#\r
+#CXX_OPTIMISATION+= /arch:SSE # By default with 64bits processor\r
+#CXX_OPTIMISATION+= /arch:SSE2 # By default with 64bits processor\r
+#CXX_OPTIMISATION+= /arch:AVX # ko home\r
+#X86_CXX_OPTIMISATION+= /arch:AVX2 # cuda2,i7 (from visual 2013)\r
+\r
+#################\r
+# linkage #\r
+#################\r
+\r
+#Option de linkage\r
+# Version minimale : vide (sera surcharg�e)\r
+# Surcharger automatiquement (par exemple en fonction du type de la target)\r
+\r
+CXXLDFLAGS+=#\r
+\r
+########################\r
+# nvcc #\r
+########################\r
+\r
+#################\r
+# target #\r
+#################\r
+\r
+# NVCCFLAGS\r
+# https://developer.nvidia.com/cuda-gpus\r
+# Quadro Fx4600 : sm_10 \r
+# Quadro nvs140M : sm_11 \r
+# GTX_295 : sm_13\r
+# GTX 580 sm_20\r
+# Tesla m2090 sm_20\r
+# Quadro6000 sm_20\r
+# Quadroplex 7000 sm_20\r
+# GTX 680 sm_30\r
+# Quadro k5000 sm_30\r
+# Tesla k20c sm_35\r
+# Gforce titan sm_35\r
+# Quadro k6000 sm_35\r
+# Tesla k40 sm_35\r
+\r
+# NVCCFLAGS possibilities:\r
+#\r
+# -arch=<compute_xy> Generate PTX for capability x.y\r
+# -code=<sm_xy> Generate binary for capability x.y, by default same as -arch\r
+# -gencode arch=...,code=... Same as -arch and -code, but may be repeated (executable is bigger, and compilation time longer)\r
+\r
+# Target : Syntaxe light (shorcut)\r
+# : Avantage : short,easy, quick\r
+# : Incovenient : only one target can be specify!\r
+#\r
+NVCCFLAGS+= -arch=sm_20\r
+#\r
+# Target : Syntaxe full\r
+# : Avantage : many target can be specify! \r
+# : : Allow jit compilation at runtime, for deploying in a gpu with higher arch than arch use for developpement. \r
+#\r
+# : Option : -arch : Virtual architecture\r
+# : generate PTX (ptx code is the same as byte code in java) \r
+# : Like java, a jit compilation at runtime is performed.\r
+# : Jit compilatioonce is performed only once, fortunately a cache is used to persist a final binary image.\r
+#\r
+# : Option : -code : Real architecture\r
+# : nvcc embeded a compiled code image in the executable for each specified architecture -arch,\r
+# : Code image is a true binary load image for each real architecture (present at compilation time?), and ptx code for earch virtual architecture (not present at compilation time?)\r
+# \r
+# \r
+#\r
+# Enable or disable all following lignes\r
+#NVCCFLAGS+= -gencode arch=compute_20,code=sm_20 #idem NVCCFLAGS+= -arch=sm_20\r
+#NVCCFLAGS+= -gencode arch=compute_30,code=sm_30 #idem NVCCFLAGS+= -arch=sm_30\r
+#NVCCFLAGS+= -gencode arch=compute_35,code=sm_35 #idem NVCCFLAGS+= -arch=sm_35\r
+#NVCCFLAGS+= -gencode arch=compute_50,code=sm_50 #idem NVCCFLAGS+= -arch=sm_50\r
+\r
+NVCCFLAGS+= -m64 #\r
+\r
+#Option de compilation \r
+# Version minimale : vide\r
+# Surcharger automatiquement (par exemple en fonction du type de la target)\r
+\r
+#################\r
+# Optimisation #\r
+#################\r
+\r
+NVCCFLAGS+= -use_fast_math #idem -ftz=true -prec_div=false -prec_sqrt=false\r
+NVCCFLAGS+= --fmad=true #\r
+\r
+#################\r
+# linkage #\r
+#################\r
+\r
+# Version minimale : vide (sera surcharg�e)\r
+# Surcharger automatiquement (par exemple en fonction du type de la target)\r
+\r
+NVCCLDFLAGS+=#\r
+\r
+#################\r
+# debug #\r
+#################\r
+\r
+#decommneter la ligne pour \r
+# (1) empecher l'optimisation\r
+# (2) activer les flag de debug\r
+\r
+#DEBUG=true\r
+\r
+#NVCCFLAGS+= -dryrun\r
+#NVCCFLAGS+= -v\r
+\r
+#################\r
+# extension #\r
+#################\r
+\r
+#Injection de variable dans le code \r
+# same as #define XXX YYY\r
+# same as -DXXX\r
+#Attention, pas mettre -D, ni #define, que XXX\r
+\r
+CODE_DEFINE_VARIABLES+=#\r
+\r
+# Injection automatique de lib windows standard\r
+# true (ou n'importe quoi) pour activer!\r
+# rien pour desactiver\r
+# Version minimale : vide (avec # pour le montrer)\r
+\r
+EXCLUDE_LIBRARY_FILES+=#\r
+ADD_LIBRARY_FILES+=#\r
+\r
+###############################################\r
+# End #\r
+###############################################\r
+\r
+endif#__CUDA_VISUAL_PUBLIC_OPTION_MK__\r
+\r