Instalao do CUDA toolkit e integrao do Nsight no Visual Studio 2012 Ultimate.
Otimizao do restabelecimento de energia eltrica por inteligncia de enxames: Validao dos
mtodos de otimizao no setor de distribuio de energia. PAULO VINICIUS LISBOA PEREIRA
Resumo: Este relatrio tem como objeto descrever a instalao do toolkit da CUDA Nvidia e da sua integrao com o Visual Studio 2012 Ultimate. Plataforma fundamental para a compilao em Graphics Processing Unit (GPU).
Introduo: A acelerao da computao por meio de GPUs foi lanada pela Nvidia em 2007. Utilizando GPUs junto com CPUs aumenta a eficincia e diminui o tempo de execuo em programas, muitos casos so viveis apenas por meio dela. A acelerao se d pela arquitetura das GPUs, estas so voltadas a execues de mltiplas tarefas. Enquanto as CPUs, em geral, fazem processamento sequencial [1]. Hoje a programao em GPUs est presente em centros de pesquisa, supercomputao e em computadores pessoais, jogos e programas grficos. A plataforma de programao paralela, criada pela Nvidia, a CUDA. Fornecendo extenses a linguagens C, C++ e Fortran [2]. Possibilitando um desenvolvimento em linguagens de alto nvel. Ela fornece facilidades para a programao paralela, possibilitando uma menor preocupao com a sintaxe. Materiais e mtodos: O computador utilizado para a instalao um Dell Inspiron 14R 5421-A20. Este possui 8GB de memria RAM, possui 1TB de armazenamento em disco, processador Intel Core i7-35371 CPU com 2.0 GH e placa de vdeo Geforce GT 730m com 2GB de memria da Nvidia. A placa grfica possui tecnologia optimus, esta gerencia a ativao da placa para prolongar a bateria. O sistema operacional usado o Windows 8.1 de 64bits. Ser descrita a primeira tentativa de instalao e integrao com Visual Studio. Esta foi realizada ainda quando o CUDA 6.0 estava sendo desenvolvido. Realizando o download do toolkit CUDA em: <https://developer.nvidia.com/cuda-toolkit-50-archive>, o Nsight Visual Studio 3.0 em:<> Foi instalado o Visual Studio 2014, este deve ser feito antes da instalao do toolkit CUDA. A instalao deve ser testada, isto pode ser feito rodando exemplos que so encontrados se foi escolhida a pasta usual em: C:\ProgramData\NVIDIACorporation\CUDASamples\v5.0\bin\ win64\Release e podemos rodar exemplos. Como podemos ver nas imagens onde so mostradas as velocidades de transferncia entre memorias (ver imagem 1) CPU para GPU - e nmeros de threads, encadeamento de execuo, por blocos (ver imagem 2) [3]. Estes resultados dependem do modelo da placa de vdeo, drivers e da frequncia do processador. Podendo variar entre computadores, mas a sada prxima a esta. Aps verificao de instalao se deve preparar o Visual Studio 2014. Pode-se fazer alterando alguns arquivos, a referncia [3] j os disponibiliza para download. Vemos os passos em [3]: Copiando os arquivos CUDA 5.0.props, CUDA 5.0.targets, CUDA 5.0.xml, e Nvda.Build.CudaTasks.v5.0.dll para a pasta, estes arquivos tem como finalidade possibilitar a customizao da compilao [4]: <C:\ProgramFiles(x86)\MSBuild\Microsoft.Cpp\v4.0\V110\BuildCustomizations>. O mesmo com o arquivo "host_config.h" e adicioando-o em: <C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include>.
Copiaremos o arquivo "usertype.dat" de: <C:\ProgramData\NVIDIACorporation\ CUDASamples\v5.0\doc\syntax_highlighting\visual_studio_8> para <C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE>. Seguindo com os passo no Visual Studio 2014 adiciona-se a extenso de arquivos .cu. isto possibilitara a marcao da sintaxe da linguagem e o processamento pelo nvcc.exe Nvidia Compile Driver para que depois seja enviado ao Visual Studio [4]. Podemos fazer isto indo em Tools - Options - Text Editor - File Extension (ver figura). Agora criaremos um novo projeto (New Project) e d-se um duplo clique em Win32 Console Application, clica-se em Next e seleciona Empty Project. Aps criar o projeto com um clique direito no mouse abriremos o menu do projeto (Project menu), depois Build Customizations CUDA 5.0. e com o mesmo procedimento inicial descrito iremos Properties. Selecionaremos VC++ Directories e adicionaremos em Include diretories: $(CUDA_INC_PATH) . Agora em Linker Geral e em Additional Library Directories adicionaremos: $(CUDA_PATH)/lib/$(PlatformName). Em Linker Imput temos Additional Dependencies e adicionaremos:cudart.lib. Com o lanamento do CUDA 6.0 toolkit a integrao se tornou trivial apenas deve-se, na criao do projeto, selecionar CUDA CUDA 6.0 Runtime e a integrao das bibliotecas, compilador (nvcc), diretrios e arquivos binrios efetuada [5]. Resultados:
Foi validade e testada a instalao e integrao do toolkit, SDK e compilador para o desenvolvimento em plataforma CUDA 5.0 e 6.0 no Windows 8.1 com o Visual Studio 2012 Ultimate. Concluso:
A praticidade da programao paralela com o CUDA 6.0 e o Nsight Visual Studio 4.0, torna ainda mais trivial para o engenheiro a computao com GPUs e os benefcios de seus recursos podem ser visto pela quantidade de artigos escritos com esta plataforma. Referencias:
[1] NVIDIA. O que computao em GPU? < http://www.nvidia.com.br/object/what-is-gpu- computing-br.html>. Acesso em: 24 jun. 2014. [2] NIVIDA. Plataforma de programao paralela CUDA. <http://www.nvidia.com.br/object/cuda-parallel-computing-platform-br.html>. Acessado em: 24 jun. 2014. [3] TAURIAN, A. CUDA 5.0 and Visual Studio 2012 Configuration. <http://code.msdn.microsoft.com/windowsdesktop/CUDA-50-and-Visual-Studio-20e71aa1> Acessado em: 01 jun. 2014. [4] KEREM, K. CUDA 3.2 no VS2010 em 9 passos. < http://www.codeproject.com/Tips/186655/CUDA-on-VS-in-steps> Acessado em: 23 jun. 2014. [5] NVIDIA. CUDA getting_started Windows. Download de: <http://docs.nvidia.com/cuda/pdf/CUDA_Getting_Started_Windows.pdf >. Acessado em: 24 jun. 2014. Anexos: