nvvm: FFI bindings to NVVM

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Warnings:

The NVVM library compiles NVVM IR (a subset of LLVM IR) into PTX code which can then be executed on NVIDIA GPUs. In contrast to the standard NVPTX target built in to the LLVM toolchain, NVVM includes a set of proprietary optimisations which are otherwise only available by compiling CUDA code with the nvcc compiler.

The resulting PTX code can be loaded onto the GPU and executed using the cuda package:

https://hackage.haskell.org/package/cuda

The NVVM library is a compiler component available a part of the CUDA toolkit:

https://developer.nvidia.com/cuda-toolkit

See the travis-ci.org build matrix for tested CUDA library versions.


[Skip to Readme]

Properties

Versions 0.7.5.0, 0.7.5.1, 0.7.5.2, 0.8.0.0, 0.8.0.1, 0.8.0.2, 0.8.0.3, 0.9.0.0, 0.10.0.0, 0.10.0.0
Change log CHANGELOG.md
Dependencies base (>=4.6 && <5), bytestring, cuda (>=0.8), directory, filepath, template-haskell [details]
License BSD-3-Clause
Copyright [2016..2018] Trevor L. McDonell
Author Trevor L. McDonell <trevor.mcdonell@gmail.com>
Maintainer Trevor L. McDonell <trevor.mcdonell@gmail.com>
Category Foreign
Home page https://github.com/tmcdonell/nvvm
Source repo head: git clone https://github.com/tmcdonell/nvvm
this: git clone https://github.com/tmcdonell/nvvm(tag v0.10.0.0)
Uploaded by TrevorMcDonell at 2020-08-26T09:48:01Z

Modules

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for nvvm-0.10.0.0

[back to package description]

Haskell FFI Bindings to NVVM

Travis build status AppVeyor build status Stackage LTS Stackage Nightly Hackage

The NVVM library compiles NVVM IR (a subset of LLVM IR) into PTX code which can then be executed on NVIDIA GPUs.

In contrast to the standard NVPTX target built in to the LLVM toolchain, NVVM includes a set of proprietary optimisations which are otherwise only available by compiling CUDA code with the nvcc compiler. On the other hand, the version of LLVM that NVVM is internally based on typically lags the public release by several generations (years), so these secret optimisations may or may not be worthwhile to your application.

The resulting PTX code can be loaded onto the GPU and executed using the cuda package.

The NVVM library is a compiler component available a part of the CUDA toolkit:

https://developer.nvidia.com/cuda-toolkit

The configure step will look for your CUDA installation in the standard places, and if the nvcc compiler is found in your PATH, relative to that.