IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Creator Discussion :

Indiquer CUDA dans le fichier de projet


Sujet :

Qt Creator

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Indiquer CUDA dans le fichier de projet
    Bonjour,

    Je cherche a faire fonctionner un projet Qtcreator existant sous linux vers Windows. Je bute sur la creation du fichier .pro.
    J'ai des fichiers cpp et cu qui cohabitent sur le même projet. Ce que je faisait sous linux c'est qu je linkais tous les fichiers cu et je compile le fichier avec les autres cpp. Ca donne ca:
    Code qt-pro : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    cuda.input = CUDA_SOURCES
        cuda.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.o
        cuda.commands = $$CUDA_DIR/bin/nvcc -dlink $$NVCC_OPTIONS $$CUDA_INC $$NVCC_LIBS --machine $$SYSTEM_TYPE -gencode arch=compute_50,code=compute_50   -gencode arch=compute_52,code=compute_52 -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
        cuda.dependency_type = TYPE_C
        QMAKE_EXTRA_COMPILERS += cuda
     
     
        cudaLINK.input = CUDA_SOURCES
        cudaLINK.output = $$CUDA_OBJECTS_DIR/${TARGET}_cuda.o
        cudaLINK.commands = $$CUDA_DIR/bin/nvcc -ccbin g++ -dlink  $$NVCC_OPTIONS $$CUDA_INC $$NVCC_LIBS --machine $$SYSTEM_TYPE -gencode arch=compute_50,code=compute_50 -gencode arch=compute_52,code=compute_52  fichier1_cuda.o fichier2_cuda.o fichier3_cuda.o fichier4_cuda.o -o ${TARGET}_cuda.o
        QMAKE_EXTRA_COMPILERS += cudaLINK

    Mais sur windows ca ne fonctionne pas pareil. Déjà ce que j'ai compris c'est que sous windows Cuda n'est disponible qu'en 32 bit avec le compilateur de MCVS. J'ai ajouté ces extra compilers:
    Code qt-pro : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
         cuda.input    = CUDA_SOURCES
         cuda.output   = ${QMAKE_FILE_BASE}_cuda.o
         cuda.commands = $$CUDA_DIR/bin/nvcc.exe -dlink $$NVCC_OPTIONS $$CUDA_INC $$LIBSCUDA \
                        --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH \
                        --compile -cudart static -DWIN32 -D_MBCS \
                        -Xcompiler "/wd4819,/EHsc,/W3,/nologo,/O2,/Zi" \
                        -Xcompiler $$MSVCRT_LINK_FLAG_RELEASE \
                        -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
         cuda.dependency_type = TYPE_C
         QMAKE_EXTRA_COMPILERS += cuda
     
     
        cudaLINK.input = CUDA_SOURCES
        cudaLINK.output = OUT_cuda.o
     
         cudaLINK.commands = $$CUDA_DIR/bin/nvcc.exe -ccbin g++ -dlink  $$NVCC_OPTIONS $$CUDA_INC $$LIBS \
                        --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH \
                        Blending_cuda.o CCL_cuda.o -o $$CUDA_OBJECTS_DIR/$${TARGET}.obj
         cudaLINK.dependency_type = TYPE_C
         QMAKE_EXTRA_COMPILERS += cudaLINK

    Mais ca me génére des erreurs. J'ai essayé de faires les commandes à la main sur le terminal et quand je génére cette commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0/bin/nvcc.exe" -ccbin g++ -dlink --use_fast_math -I"C:\opencv\build\include" -I"C:\opencv\build\include\opencv" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0/include" -I"C:/ProgramData/NVIDIA Corporation/CUDA Samples/v8.0/common/inc/" -I"C:/ProgramData/NVIDIA Corporation/CUDA Samples/v8.0/../shared/inc/" C:\opencv\build\x86\vc12\lib\opencv_core2413.lib C:\opencv\build\x86\vc12\lib\opencv_imgproc2413.lib C:\opencv\build\x86\vc12\lib\opencv_highgui2413.lib C:\opencv\build\x86\vc12\lib\opencv_objdetect2413.lib C:\opencv\build\x86\vc12\lib\opencv_calib3d2413.lib -lcuda -lcudart --machine 32 -arch=compute_50 fichier1_cuda.o fichier2_cuda.o -o release/obj/untitled.obj
    Il n'a pas d'erreur mais la commande ne me génére rien.

    Quelqu'un s'aurait de ou ca peut venir?

  2. #2
    Membre éclairé Avatar de Matthieu76
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2013
    Messages
    568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 568
    Points : 890
    Points
    890
    Par défaut YOP
    Chez moi ça fonctionne sous Windows mais j'arrive pas à lancer le mode debug, si de ton côté le mode debug fonctionne préviens-moi stp

    Voici mon .pro, regarde-le et inspires-en toi :

    Code Qt-pro : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    #-------------------------------------------------
    #
    # Project created by QtCreator 2016-08-12T05:59:12
    #
    #-------------------------------------------------
     
    QT += core
    QT += gui
    QT += widgets
     
    TARGET = NeuralNetwork
     
    TEMPLATE = app
     
    CONFIG += console
    CONFIG += c++14
    #CONFIG += debug
     
    SOURCES += main.cpp \
        $$PWD/perceptron.cpp \
        $$PWD/neuralNetworkWithCuda.cpp \
        $$PWD/baseNeuralNetwork.cpp
     
    HEADERS += $$PWD/perceptron.h \
        $$PWD/baseNeuralNetwork.h \
        $$PWD/neuralNetwork.h \
        $$PWD/neuralNetworkWithCuda.h \
        $$PWD/shared_variables.h
     
    #OTHER_FILES += optimization.cu
     
    DESTDIR = ./release
    OBJECTS_DIR = ./release/obj
    CUDA_OBJECTS_DIR = $$PWD/release/cuda
     
     
    CUDA_SOURCES += $$PWD/optimization.cu
    CUDA_DIR = "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0"            # Path to cuda toolkit install
    SYSTEM_NAME = x64                                                               # Depending on your system either 'Win32', 'x64', or 'Win64'
    SYSTEM_TYPE = 64                                                                # '32' or '64', depending on your system
    CUDA_ARCH = compute_62                                                          # Type of CUDA architecture, for example 'compute_10', 'compute_11', 'sm_10'
    NVCC_OPTIONS = --use_fast_math
     
    INCLUDEPATH += "C:/Programming/Light Punch/Neural Network/NeuralNetwork" \
                   "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/include" \
                   "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin" \
     
    DEPENDPATH += "optimization.cu" \
                  "C:/Programming/Light Punch/Neural Network/NeuralNetwork" \
                  "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/include" \
                  "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin" \
     
     
    LIBS += "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/lib/x64/*.lib"
     
    QMAKE_LIBDIR += "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/lib/x64/"
     
    # The following library conflicts with something in Cuda
    QMAKE_LFLAGS_RELEASE = /NODEFAULTLIB:msvcrt.lib
    QMAKE_LFLAGS_DEBUG   = /NODEFAULTLIB:msvcrtd.lib
     
    QMAKE_CFLAGS_RELEASE += /MT
    QMAKE_CXXFLAGS_RELEASE += /MT
     
    QMAKE_CFLAGS_DEBUG += /MTd
    QMAKE_CXXFLAGS_DEBUG += /MTd
     
    # Add the necessary libraries
    CUDA_LIBS = cuda cudart
     
    # The following makes sure all path names (which often include spaces) are put between quotation marks
    CUDA_INC = $$join(INCLUDEPATH,'" -I"','-I"','"')
    NVCC_LIBS = $$join(CUDA_LIBS,' -l','-l', '')
    #LIBS += $$join(CUDA_LIBS,'.lib ', '', '.lib')
     
     
    CONFIG(release, debug|release)
    {
        CUDA_DEBUG = "--debug"
        QMAKE_EXTRA_COMPILERS += cuda
    }
    CONFIG(debug, debug|release))
    {
        CUDA_DEBUG = ""
        QMAKE_EXTRA_COMPILERS += cuda_d
    }
     
    cuda.input = CUDA_SOURCES
    cuda.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.o
    cuda.commands = "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/bin/nvcc.exe" $$CUDA_DEBUG $$NVCC_OPTIONS $$CUDA_INC $$NVCC_LIBS --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
    cuda.dependency_type = TYPE_C

Discussions similaires

  1. probleme dans fichier> nouveau projet ?
    Par sky88 dans le forum VB.NET
    Réponses: 6
    Dernier message: 17/06/2009, 17h37
  2. Réponses: 4
    Dernier message: 28/12/2007, 21h00
  3. Réponses: 4
    Dernier message: 07/06/2007, 17h44
  4. Rechercher dans les fichiers d'un projet
    Par FlyByck dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 31/08/2006, 09h35
  5. [VBA-E]Projet VB perdu dans un fichier Excel 2003
    Par cotmar dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/03/2006, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo