-
Notifications
You must be signed in to change notification settings - Fork 36
/
cuda.cabal
196 lines (171 loc) · 5.54 KB
/
cuda.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
cabal-version: 1.24
Name: cuda
Version: 0.11.0.1
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-11.4. See also the
<https://travis-ci.org/tmcdonell/cuda travis-ci.org> build matrix for
version compatibility.
.
[/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.md>
.
License: BSD3
License-file: LICENSE
Copyright: Copyright (c) [2009..2023]. Trevor L. McDonell <[email protected]>
Author: Trevor L. McDonell <[email protected]>
Maintainer: Trevor L. McDonell <[email protected]>
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.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
-- 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
, 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.11.0.1
-- vim: nospell