Programação CUDA em Julia
O pacote CUDA.JL é a principal interface de programação para trabalhar com GPUs NVIDIA CUDA usando Julia. Possui uma abstração de matriz amigável, um compilador para escrever kernels CUDA em Julia e embalagens para várias bibliotecas CUDA.
Antes de tudo, verifique se você tem um motorista recente da NVIDIA. No Windows, também verifique se você possui o Visual C ++ redistribuível instalado. Você não precisa instalar o kit de ferramentas CUDA.
Cuda.jl pode ser instalado com o Julia Package Manager. Do Julia Repl, Type ]
para entrar no modo PKG Repl e executar:
pkg> add CUDA
Ou, equivalente, através da API Pkg
:
Julia> Importar PKG; Pkg.add ("cuda")
Para uma visão geral da cadeia de ferramentas CUDA em uso, você pode executar o seguinte comando depois de importar o pacote:
Julia> Usando Cuda Julia> Cuda.versionInfo ()
Isso pode demorar um pouco, pois terá pré -compilado o pacote e baixará uma versão adequada do kit de ferramentas CUDA. Se a sua GPU não for totalmente suportada, o comando acima (ou qualquer outro comando que inicialize o kit de ferramentas) emitirá um aviso.
Para obter mais instruções de uso e outras informações, consulte a documentação.
A versão mais recente de desenvolvimento do Cuda.jl requer Julia 1.10 ou superior. Se você estiver usando uma versão mais antiga de Julia, precisa usar uma versão anterior do Cuda.jl. Isso acontecerá automaticamente quando você instala o pacote usando o Julia's Package Manager.
Observe que Cuda.jl pode não funcionar com uma construção personalizada de Julia; Recomenda -se que você instale Julia usando os binários oficiais ou JuliaUp.
A versão mais recente do Cuda.jl também possui certos requisitos que não podem ser aplicados pelo gerenciador de pacotes:
Plataforma do host: apenas Linux e Windows de 64 bits são suportados;
Hardware do dispositivo: apenas as GPUs NVIDIA com capacidade de computação 3.5 (Kepler) ou superior são suportadas;
Driver da NVIDIA: é necessário um driver para CUDA 11.0 ou mais recente;
CUDA Toolkit (caso você precise usar o seu próprio): Somente o CUDA Toolkit 11.4 ou mais recentes são suportados.
Se você não puder atender a esses requisitos, pode ser necessário instalar uma versão mais antiga do Cuda.jl:
Cuda.jl v5.3 é a última versão com suporte para o PowerPC (removido na v5.4)
Cuda.jl v4.4 é a última versão com suporte para CUDA 11.0-11.3 (depreciado na v5.0)
Cuda.jl v4.0 é a última versão a trabalhar com o CUDA 10.2 (removido na v4.1)
Cuda.jl v3.8 é a última versão a trabalhar com o CUDA 10.1 (removido na v3.9)
Cuda.jl v1.3 é a última versão a trabalhar com o CUDA 9-10.0 (removido na v2.0)
Grande parte do software desse ecossistema foi desenvolvida como parte da pesquisa acadêmica. Se você deseja ajudar a apoiá -lo, estrela o repositório, pois essas métricas podem nos ajudar a garantir financiamento no futuro. Se você usar nosso software como parte de sua pesquisa, ensino ou outras atividades, ficaríamos agradecidos se você pudesse citar nosso trabalho. O arquivo Citation.Bib na raiz deste repositório lista os artigos relevantes.
O pacote é testado e sendo desenvolvido para Julia 1.10 e acima. O desenvolvimento e os testes principais acontecem no X86 Linux, mas o pacote deve funcionar no Windows e no ARM e também.
As perguntas de uso podem ser publicadas no fórum do Discourse Julia sob o domínio GPU e/ou no canal #GPU da Slack Julia.
As contribuições são muito bem -vindas, assim como as solicitações e sugestões de recursos. Por favor, abra um problema se encontrar algum problema.