CUJ2K编译

Jun 07, 2016 pm 03:20 PM
开发 环境 编译

VS2005 开发CUDA3.2 环境配置 VS2005 开发 CUDA 环境配置 下面记录的是在 VS2005 中开发 CUDA 应用程序的配置过程,使用的路径均为默认路径。 安装、配置步骤: 1 、安装 Visual Studio 2005 环境。 2 、安装开发助手 Visual Assist X 。 3 、安装 CUDA 的驱

VS2005开发CUDA3.2环境配置

VS2005开发CUDA环境配置

 

下面记录的是在VS2005中开发CUDA应用程序的配置过程,使用的路径均为默认路径。

 

安装、配置步骤:
1
、安装Visual Studio 2005环境。
2
、安装开发助手Visual Assist X
3
、安装CUDA的驱动、工具集、SDK
    
可以从http://developer.nvidia.com/object/cuda_3_2_downloads.html免费下载。


4
、语法高亮:
    
查看C:/Program Files/Microsoft Visual Studio 8/Common7/IDE目录是否存在usertype.dat文件。
如果没有存在则将C:/Program Files/NVIDIA GPU Computing SDK/doc/syntax_highlighting/visual_studio_8里面的usertype.dat文件拷贝到此目录;
如果已经存在则将C:/Program Files/NVIDIA GPU Computing SDK/doc/syntax_highlighting/visual_studio_8里面的usertype.dat的内容添加到C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/usertype.dat文件的尾部。

 

5、设置VS2005环境:
    
依次打开工具|选项|项目和解决方案|VC++目录,添加:
    
包含文件:C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/include

                  C:/Program Files/NVIDIA GPU Computing SDK/C/common/inc
     
库文件:   C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/lib/Win32

                  C:/Program Files/NVIDIA GPU Computing SDK/C/common/lib
    
源文件:   C:/Program Files/NVIDIA GPU Computing SDK/C/common/src

     依次打开工具|选项|文本编辑器|文件扩展名,在扩展名中添加“cu”,在编辑器中选择“Microsoft Visual C++”

 

6、在VS2005中依次打开工具|选项|项目和解决方案|VC++项目设置里面的“C/C++文件扩展名添加*.cu;
    
在规则搜索路径中C:/Program Files/NVIDIA GPU Computing SDK/C/common,指定Cuda.rules所在的路径。

 

7、在VS2005中新建工程,在工程名上鼠标右击,在弹出菜单中选择菜单项自定义生成规则,选择要添加的规则文件,

     如:“CUDA Build rule v3.0.14”
    
在工程中添加.cu文件,右键点击cu文件,在弹出菜单中依次选择属性|配置属性|常规,在工具的下拉列表中选择生成规则的名称,例如“CUDA Build rule v3.0.14”,单击确定即可。
   
    
顺便说明一下,在下载文件中有一个“cudatoolkit_3.2_win_buildrules-patch.zip”,解压后其实是编译驱动级别的api及编译运行时api的规则文件,可以将它们拷贝到一个目录,  如上所示指定该目录即可编译驱动级别的api和编译运行时api

 

8Visual Assist X设置:
    
关闭已经所有打开的Visual studio,之后进入注册表编辑器,依次打开“HKEY_CURRENT_USER/Software/Whole Tomato/Visual Assist X/VANet8”,找到右边的ExtSource项,将其值添加.cu;.cuh,之后关闭,再次打开VS2005即可。

 

     至此,就已经可以打开SDK目录下的例子代码(如:C:/Program Files/NVIDIA GPU Computing SDK/C/src/vectorAdd/vectorAdd.sln)进行编译、调试了。

 

 

 

 

注明:

(1)       我安装的是CUDA4.2版本

(2)       运行C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\OpenCL中的例子没有问题,可以直接运行。运行CUDA例子出现Cuda.rules没有找到。需要将文件NvCudaDriverApi.rulesC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\extras\visual_studio_integration\rules拷贝到C:\Program Files (x86)\Microsoft Visual Studio 8\VC\VCProjectDefaults目录下。运行CUDA例子没有问题。

 

 

编译CUJ2K出现错误。

0步是打开工程提示找不到Cuda.rules文件,需要将gpu_vc2005.vcproj文件用txt方式打开,将下面这段:

        

                  

                            RelativePath="..\..\..\..\..\CUDA\common\Cuda.rules"

                   />

        

改为:

        

                  

                            FileName="NvCudaRuntimeApi.rules"

                   />

        

 

第一步是缺少cutil32D.lib库,需要设置Lib库的路径,

工具〉选项〉项目和解决方案VC++目录〉库文件目录

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\lib\Win32

C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\C\common\lib\Win32

同时将配置属性〉连接器〉常规〉附加库目录清空

 

第二步出现库文件冲突问题

1>LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用/NODEFAULTLIB:library

1>LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用/NODEFAULTLIB:library

于是打开项目属性,在配置属性-->C/C++-->代码生成-->运行时库中将多线程(/MT修改为多线程调试DLL/MDd出现以下错误:

1>   LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用/NODEFAULTLIB:library

静态库中使用配置属性-MFC,并将LIBCMT.lib设置为忽略特定库。

 

 

第三步出现找不到cutil32D.dll的错误,只需要将C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\C\common\lib\Win32文件夹下的cutil32D.dll拷贝到目录下cuj2k-src-1.1\src_encoder\Debug

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quatre outils de programmation assistés par IA recommandés Quatre outils de programmation assistés par IA recommandés Apr 22, 2024 pm 05:34 PM

Cet outil de programmation assistée par l'IA a mis au jour un grand nombre d'outils de programmation assistée par l'IA utiles à cette étape de développement rapide de l'IA. Les outils de programmation assistés par l'IA peuvent améliorer l'efficacité du développement, améliorer la qualité du code et réduire les taux de bogues. Ils constituent des assistants importants dans le processus de développement logiciel moderne. Aujourd'hui, Dayao partagera avec vous 4 outils de programmation assistés par l'IA (et tous prennent en charge le langage C#). J'espère que cela sera utile à tout le monde. https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot est un assistant de codage IA qui vous aide à écrire du code plus rapidement et avec moins d'effort, afin que vous puissiez vous concentrer davantage sur la résolution de problèmes et la collaboration. Git

Quel programmeur IA est le meilleur ? Explorez le potentiel de Devin, Tongyi Lingma et de l'agent SWE Quel programmeur IA est le meilleur ? Explorez le potentiel de Devin, Tongyi Lingma et de l'agent SWE Apr 07, 2024 am 09:10 AM

Le 3 mars 2022, moins d'un mois après la naissance de Devin, le premier programmeur d'IA au monde, l'équipe NLP de l'Université de Princeton a développé un agent SWE pour programmeur d'IA open source. Il exploite le modèle GPT-4 pour résoudre automatiquement les problèmes dans les référentiels GitHub. Les performances de l'agent SWE sur l'ensemble de tests du banc SWE sont similaires à celles de Devin, prenant en moyenne 93 secondes et résolvant 12,29 % des problèmes. En interagissant avec un terminal dédié, SWE-agent peut ouvrir et rechercher le contenu des fichiers, utiliser la vérification automatique de la syntaxe, modifier des lignes spécifiques et écrire et exécuter des tests. (Remarque : le contenu ci-dessus est un léger ajustement du contenu original, mais les informations clés du texte original sont conservées et ne dépassent pas la limite de mots spécifiée.) SWE-A

Apprenez à développer des applications mobiles en utilisant le langage Go Apprenez à développer des applications mobiles en utilisant le langage Go Mar 28, 2024 pm 10:00 PM

Didacticiel d'application mobile de développement du langage Go Alors que le marché des applications mobiles continue de croître, de plus en plus de développeurs commencent à explorer comment utiliser le langage Go pour développer des applications mobiles. En tant que langage de programmation simple et efficace, le langage Go a également montré un fort potentiel dans le développement d'applications mobiles. Cet article présentera en détail comment utiliser le langage Go pour développer des applications mobiles et joindra des exemples de code spécifiques pour aider les lecteurs à démarrer rapidement et à commencer à développer leurs propres applications mobiles. 1. Préparation Avant de commencer, nous devons préparer l'environnement et les outils de développement. tête

Comprendre VSCode : à quoi sert cet outil ? Comprendre VSCode : à quoi sert cet outil ? Mar 25, 2024 pm 03:06 PM

« Comprendre VSCode : à quoi sert cet outil ? » 》En tant que programmeur, que vous soyez débutant ou développeur expérimenté, vous ne pouvez pas vous passer de l'utilisation d'outils d'édition de code. Parmi les nombreux outils d'édition, Visual Studio Code (VSCode en abrégé) est très populaire parmi les développeurs en tant qu'éditeur de code open source, léger et puissant. Alors, à quoi sert exactement VSCode ? Cet article approfondira les fonctions et les utilisations de VSCode et fournira des exemples de code spécifiques pour aider les lecteurs.

Quelle distribution Linux est la meilleure pour le développement Android ? Quelle distribution Linux est la meilleure pour le développement Android ? Mar 14, 2024 pm 12:30 PM

Le développement d'Android est un travail chargé et passionnant, et le choix d'une distribution Linux adaptée au développement est particulièrement important. Parmi les nombreuses distributions Linux, laquelle est la plus adaptée au développement Android ? Cet article explorera ce problème sous plusieurs aspects et donnera des exemples de code spécifiques. Tout d’abord, jetons un coup d’œil à plusieurs distributions Linux actuellement populaires : Ubuntu, Fedora, Debian, CentOS, etc. Elles ont toutes leurs propres avantages et caractéristiques.

PHP est-il front-end ou back-end dans le développement Web ? PHP est-il front-end ou back-end dans le développement Web ? Mar 24, 2024 pm 02:18 PM

PHP appartient au backend du développement Web. PHP est un langage de script côté serveur, principalement utilisé pour traiter la logique côté serveur et générer du contenu Web dynamique. Par rapport à la technologie front-end, PHP est davantage utilisé pour les opérations back-end telles que l'interaction avec les bases de données, le traitement des demandes des utilisateurs et la génération du contenu des pages. Ensuite, des exemples de code spécifiques seront utilisés pour illustrer l'application de PHP dans le développement back-end. Tout d'abord, regardons un exemple de code PHP simple pour se connecter à une base de données et interroger des données :

Explorer la technologie front-end du langage Go : une nouvelle vision du développement front-end Explorer la technologie front-end du langage Go : une nouvelle vision du développement front-end Mar 28, 2024 pm 01:06 PM

En tant que langage de programmation rapide et efficace, le langage Go est très populaire dans le domaine du développement back-end. Cependant, peu de gens associent le langage Go au développement front-end. En fait, l’utilisation du langage Go pour le développement front-end peut non seulement améliorer l’efficacité, mais également ouvrir de nouveaux horizons aux développeurs. Cet article explorera la possibilité d'utiliser le langage Go pour le développement front-end et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre ce domaine. Dans le développement front-end traditionnel, JavaScript, HTML et CSS sont souvent utilisés pour créer des interfaces utilisateur.

Les secrets incontournables de Git : un développement Java incroyable Les secrets incontournables de Git : un développement Java incroyable Mar 06, 2024 am 08:25 AM

1. Branchement et fusion de branches vous permettent d'expérimenter des modifications de code sans affecter la branche principale. Utilisez gitcheckout pour créer une nouvelle branche et utilisez-la lorsque vous essayez de nouvelles fonctionnalités ou corrigez des bugs. Une fois terminé, utilisez gitmerge pour fusionner les modifications dans la branche principale. Exemple de code : gitcheckout-bnew-feature // Apportez des modifications à la branche des nouvelles fonctionnalités gitcheckoutmain gitmergenew-feature2 Travail de préparation Utilisez gitadd pour ajouter les modifications que vous souhaitez suivre dans la zone de préparation. Cela vous permet de valider sélectivement les modifications sans valider toutes les modifications. Exemple de code : gitaddMyFile.java3

See all articles