packages feed

cuda-0.9.0.2: cuda.cabal

Name:                   cuda
Version:                0.9.0.2
Synopsis:               FFI binding to the CUDA interface for programming NVIDIA GPUs
Description:
    The CUDA library provides a direct, general purpose C-like SPMD programming
    model for NVIDIA graphics cards (G8x series onwards). This is a collection
    of bindings to allow you to call and control, although not write, such
    functions from Haskell-land. You will need to install the CUDA driver and
    developer toolkit.
    .
    <http://developer.nvidia.com/cuda-downloads>
    .
    The setup script will look for your CUDA installation by checking, in the
    following order:
    .
      1. The @CUDA_PATH@ environment variable
    .
      2. Searching for @nvcc@ on the @PATH@
    .
      3. Checking at @\/usr\/local\/cuda@
    .
      4. @CUDA_PATH_Vx_y@ environment variable, for recent CUDA toolkit versions x.y
    .
    This library provides bindings to both the CUDA Driver and Runtime APIs. To
    get started, see one of:
    .
    * "Foreign.CUDA.Driver" (a short tutorial is available here)
    .
    * "Foreign.CUDA.Runtime"
    .
    See the <https://travis-ci.org/tmcdonell/cuda travis-ci.org> build matrix
    for tested CUDA library versions.
    .
    [/NOTES:/]
    .
    The setup script for this package requires at least Cabal-1.24. To upgrade,
    execute one of:
    .
    * cabal users: @cabal install Cabal --constraint="Cabal >= 1.24"@
    .
    * stack users: @stack setup --upgrade-cabal@
    .
    Due to an interaction between GHC-8 and unified virtual address spaces in
    CUDA, this package does not currently work with GHCi on ghc-8.0.1 (compiled
    programs should work). See the following for more details:
    .
    * <https://github.com/tmcdonell/cuda/issues/39>
    .
    * <https://ghc.haskell.org/trac/ghc/ticket/12573>
    .
    The bug should be fixed in ghc-8.0.2 and beyond.
    .
    For additional notes on installing on Windows, see:
    .
    * <https://github.com/tmcdonell/cuda/blob/master/WINDOWS.markdown>
    .

License:                BSD3
License-file:           LICENSE
Copyright:              Copyright (c) [2009..2017]. Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
Author:                 Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
Maintainer:             Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
Homepage:               https://github.com/tmcdonell/cuda
Bug-reports:            https://github.com/tmcdonell/cuda/issues
Category:               Foreign
Cabal-version:          >= 1.24
Tested-with:            GHC >= 7.6

Build-type:             Custom

Extra-tmp-files:        cuda.buildinfo.generated

Extra-source-files:     cbits/stubs.h
                        CHANGELOG.markdown
                        README.markdown
                        WINDOWS.markdown

custom-setup
  setup-depends:
      base              >= 4.6
    , Cabal             >= 1.24
    , directory         >= 1.0
    , filepath          >= 1.0

Library
  hs-source-dirs:       src
  Exposed-Modules:
      Foreign.CUDA
      Foreign.CUDA.Path
      Foreign.CUDA.Ptr
      Foreign.CUDA.Types

      -- Kernel and device analysis
      Foreign.CUDA.Analysis
      Foreign.CUDA.Analysis.Device
      Foreign.CUDA.Analysis.Occupancy

      -- Driver API
      Foreign.CUDA.Driver
      Foreign.CUDA.Driver.Context
      Foreign.CUDA.Driver.Context.Base
      Foreign.CUDA.Driver.Context.Config
      Foreign.CUDA.Driver.Context.Peer
      Foreign.CUDA.Driver.Context.Primary
      Foreign.CUDA.Driver.Device
      Foreign.CUDA.Driver.Error
      Foreign.CUDA.Driver.Event
      Foreign.CUDA.Driver.Exec
      Foreign.CUDA.Driver.IPC.Event
      Foreign.CUDA.Driver.IPC.Marshal
      Foreign.CUDA.Driver.Marshal
      Foreign.CUDA.Driver.Module
      Foreign.CUDA.Driver.Module.Base
      Foreign.CUDA.Driver.Module.Link
      Foreign.CUDA.Driver.Module.Query
      Foreign.CUDA.Driver.Profiler
      Foreign.CUDA.Driver.Stream
      Foreign.CUDA.Driver.Texture
      Foreign.CUDA.Driver.Unified
      Foreign.CUDA.Driver.Utils

      -- Runtime API
      Foreign.CUDA.Runtime
      Foreign.CUDA.Runtime.Device
      Foreign.CUDA.Runtime.Error
      Foreign.CUDA.Runtime.Event
      Foreign.CUDA.Runtime.Exec
      Foreign.CUDA.Runtime.Marshal
      Foreign.CUDA.Runtime.Stream
      Foreign.CUDA.Runtime.Texture
      Foreign.CUDA.Runtime.Utils

  Other-modules:
      Foreign.CUDA.Internal.C2HS
      Text.Show.Describe

  Include-dirs:         .
  C-sources:            cbits/stubs.c
                        cbits/init.c

  Build-tools:          c2hs >= 0.21
  Build-depends:
      base              >= 4 && < 5
    , bytestring
    , filepath          >= 1.0
    , template-haskell

  default-language:     Haskell98
  Extensions:
  ghc-options:
      -Wall
      -O2
      -funbox-strict-fields
      -fwarn-tabs
      -fno-warn-unused-imports

  ghc-prof-options:
      -fprof-auto
      -fprof-cafs

  if impl(ghc == 8.0.1)
    cpp-options:        -DCUDA_PRELOAD


Executable nvidia-device-query
  Main-is:              DeviceQuery.hs
  hs-source-dirs:       examples/src/deviceQueryDrv

  Build-depends:
      base              >= 4 && < 5
    , cuda
    , pretty

  default-language:     Haskell98


source-repository head
    type:               git
    location:           https://github.com/tmcdonell/cuda

source-repository this
    type:               git
    location:           https://github.com/tmcdonell/cuda
    tag:                0.9.0.2

-- vim: nospell