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

OpenCL Discussion :

Installation OpenCL avec VS 2012 Express pour Desktop


Sujet :

OpenCL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 20
    Points
    20
    Par défaut Installation OpenCL avec VS 2012 Express pour Desktop
    Bonjour,
    Je tente desperement de faire compiler un projet OpenCL avec VS2012 express.
    Le code du programme est le suivant :

    Code : 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
    // Essai_OpenCL.cpp*: définit le point d'entrée pour l'application console.
    //
     
    #include "stdafx.h"
    #include <CL/opencl.h>
    #include <stdio.h>
    #include <stdlib.h>
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    	cl_int err;
    	cl_uint num_devices_returned;
    cl_device_id devices[2];
    err = clGetDeviceIDs(NULL, CL_DEVICE_TYPE_GPU, 1,&devices[0], &num_devices_returned);
    err = clGetDeviceIDs(NULL, CL_DEVICE_TYPE_CPU, 1,&devices[1], &num_devices_returned);
    cl_context context;
    context = clCreateContext(0, 2, devices, NULL, NULL, &err);
    cl_command_queue queue_gpu, queue_cpu;
    queue_gpu = clCreateCommandQueue(context, devices[0], 0, &err);
    queue_cpu = clCreateCommandQueue(context, devices[1], 0, &err);
    system("PAUSE");
    	return 0;
    }

    Lorsque je compile, j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    La génération a démarré 25/01/2013 11:26:46.
         1>Projet "C:\Users\Gomes\documents\visual studio 2012\Projects\Essai_OpenCL\Essai_OpenCL\Essai_OpenCL.vcxproj" sur le nœud 2 (Build cible(s)).
         1>Link:
             C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\Gomes\documents\visual studio 2012\Projects\Essai_OpenCL\Debug\Essai_OpenCL.exe" /INCREMENTAL /NOLOGO /LIBPATH:"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\lib\x64" /LIBPATH:"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\lib" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\lib" /LIBPATH:"C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86" /LIBPATH:"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\lib\x64" /LIBPATH:"C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\bin" kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib OpenCL.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:\Users\Gomes\documents\visual studio 2012\Projects\Essai_OpenCL\Debug\Essai_OpenCL.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Users\Gomes\documents\visual studio 2012\Projects\Essai_OpenCL\Debug\Essai_OpenCL.lib" /MACHINE:X86 Debug\Essai_OpenCL.obj
             Debug\stdafx.obj
         1>Essai_OpenCL.obj : error LNK2019: symbole externe non résolu _clGetDeviceIDs@24 référencé dans la fonction _wmain
         1>Essai_OpenCL.obj : error LNK2019: symbole externe non résolu _clCreateContext@24 référencé dans la fonction _wmain
         1>Essai_OpenCL.obj : error LNK2019: symbole externe non résolu _clCreateCommandQueue@20 référencé dans la fonction _wmain
         1>C:\Users\Gomes\documents\visual studio 2012\Projects\Essai_OpenCL\Debug\Essai_OpenCL.exe : fatal error LNK1120: 3 externes non résolus
         1>Génération du projet "C:\Users\Gomes\documents\visual studio 2012\Projects\Essai_OpenCL\Essai_OpenCL\Essai_OpenCL.vcxproj" terminée (Build cible(s)) -- ÉCHEC.
     
    ÉCHEC de la build.
     
    Temps écoulé 00:00:00.52
    En piece jointe, j'ajoute le fichier de configuration du projet,car je pense que c'est du à une mauvaise configuration.

    Pouvez vous m'aider, s'il vous plait?
    Fichiers attachés Fichiers attachés

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    Bonjour,
    comme je n'y arrive toujours pas et que personne ne semble pouvoir me donner de réponse je complémente ma requete avec quelques informations supplémentaires :
    Windows 7 Edition Familiale Premium
    Nvidia Toolkit 5.0
    A la suite de l'installation de ce dernier, il y a le Nvidia sample browsers à partir duquel je peux lancer des exemples qui fonctionnent sur ma machine.
    Donc c'est vraisemblablement dû à une mauvaise configuration de visual studio.

    J'espere que cela vous donne des pistes, mais pour moi cela reste non compréhensible.

  3. #3
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Salut

    Il s'agit simplement d'un problème de link des libs dynamiques. Regarde un tuto sur Visual pour savoir comment faire

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    Merci pour la reponse.
    Cependant, j'ai utilisé pour essayer de faire fonctionner OpenCL les sujets suivants :
    http://vasanthexperiments.wordpress....visual-studio/

    http://www.guineacode.com/2010/linki...piling-opencl/


    Ces tutoriaux sont à appliquer sur VS2010. J'ai présumé que cela devait etre identique sur VS2012.
    Cela ne fonctionne malheureusement pas.

    Toutefois, si vous avez un tuto qui fonctionnerait avec VS2012, je suis preneur.

    Merci.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    Bon, puisque apparement cela n'inspire personne, est-ce que quelqu'un a pu faire fonctionner opencl sous VS2012 ? svp.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Salut je bosse sous VS2008 mais voici ce que j'ai fait :

    1- Installer le SDK OpenCL avec le CUDA ToolKit 5.5
    2- Dans visual ouvrir les Propriétés du projet et ajouter :
    a-Linker - General
    "$(CUDA_PATH)\lib\Win32";"$(CUDA_PATH)\x64\lib"
    b-Linker - Input
    OpenCL.lib
    c-C/C++ - General
    "$(CUDA_PATH)\include"
    3- Dans ton code :
    a-Enlever l'include : "#include "stdafx.h"
    b-Remplacer la déclaration du main par :
    int main(int argc, char **argv)

    Sachant que j'ai copié collé ton code dans mon fichier main.cpp et que mon projet et un projet console Win32 que j'ai laissé vide à la création. Tu devrais faire de même pour l'instant.
    Le code compile mais plante à l’exécution et là je ne peux pas t'aider puisque je suis moi aussi débutant.
    J'espère que ça t'aidera.
    Clément.

Discussions similaires

  1. [Windows Phone 8] BDD avec Visual Studio Express 2012 pour Windows phone
    Par damien27000 dans le forum Windows Phone
    Réponses: 1
    Dernier message: 28/11/2013, 18h11
  2. Installer silverlight avec VS web express
    Par scapefrom dans le forum Silverlight
    Réponses: 7
    Dernier message: 18/04/2009, 11h47
  3. Réponses: 16
    Dernier message: 01/02/2007, 16h04
  4. Installer ODE avec Visual C++ Express
    Par ptitJP dans le forum ODE
    Réponses: 5
    Dernier message: 13/12/2006, 21h27
  5. Compilation avec Visual C++ 2005 Express pour avoir un module python
    Par Freyja dans le forum Déploiement/Installation
    Réponses: 6
    Dernier message: 13/07/2006, 12h12

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