packages feed

cuda-0.12.8.0: cuda.cabal

cabal-version:          1.24

Name:                   cuda
Version:                0.12.8.0
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"
    .
    Tested with library versions up to CUDA-12.8. See also the
    <https://travis-ci.org/tmcdonell/cuda travis-ci.org> build matrix for
    version compatibility.
    .
    [/NOTES:/]
    .
    For additional notes on installing on Windows, see:
    .
    * <https://github.com/tmcdonell/cuda/blob/master/WINDOWS.md>
    .
    This library is currently in __maintenance mode__. While we plan to release
    updates to keep the existing interface working with newer CUDA versions (as
    long as the underlying APIs remain available), no binding of new features is
    planned at the moment. Get in touch if you want to contribute.

License:                BSD3
License-file:           LICENSE
Copyright:              Copyright (c) [2009..2023]. Trevor L. McDonell <trevor.mcdonell@gmail.com>
Author:                 Trevor L. McDonell <trevor.mcdonell@gmail.com>
Maintainer:             Trevor L. McDonell <trevor.mcdonell@gmail.com>
Homepage:               https://github.com/tmcdonell/cuda
Bug-reports:            https://github.com/tmcdonell/cuda/issues
Category:               Foreign
Tested-with:            GHC >= 8.0
Build-type:             Custom

Extra-tmp-files:
  cuda.buildinfo.generated

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

custom-setup
  setup-depends:
      base              >= 4.7  && < 5
    , Cabal             >= 1.24 && < 3.11
    , directory         >= 1.0
    , filepath          >= 1.0

Library
  hs-source-dirs:       src
  exposed-modules:
      Foreign.CUDA
      Foreign.CUDA.Path
      Foreign.CUDA.Ptr

      -- 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.Graph.Base
      Foreign.CUDA.Driver.Graph.Build
      Foreign.CUDA.Driver.Graph.Capture
      Foreign.CUDA.Driver.Graph.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.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.Utils

      -- Extras
      Foreign.C.Extra

  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.7 && < 5
    , bytestring        >= 0.10.4
    , containers
    , filepath          >= 1.0
    , template-haskell
    , uuid-types        >= 1.0

  default-language:     Haskell98

  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:                v0.12.8.0

-- vim: nospell