Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / BUILDER / makefile / public / cuda / cudaVisual.mk
diff --git a/WCudaMSE/BUILDER/makefile/public/cuda/cudaVisual.mk b/WCudaMSE/BUILDER/makefile/public/cuda/cudaVisual.mk
new file mode 100755 (executable)
index 0000000..c2f8e2c
--- /dev/null
@@ -0,0 +1,178 @@
+# 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