-
Notifications
You must be signed in to change notification settings - Fork 3
/
feldspar-language.cabal
368 lines (312 loc) · 8.66 KB
/
feldspar-language.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
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
cabal-version: 3.0
name: feldspar-language
version: 0.6.1.0
synopsis: A functional embedded language for DSP and parallelism
description: Feldspar (Functional Embedded Language for DSP and PARallelism)
is an embedded DSL for describing digital signal processing
algorithms.
category: Language
copyright: Copyright (c) 2013 Emil Axelsson, Peter Jonsson,
Anders Persson, Josef Svenningsson
Copyright (c) 2012 Emil Axelsson, Gergely Dévai,
Anders Persson, Josef Svenningsson
Copyright (c) 2009-2011, ERICSSON AB
author: Functional programming group at Chalmers University of Technology
maintainer: Emil Axelsson <emax@chalmers.se>,
Anders Persson <anders.cj.persson@gmail.com>
license: BSD-3-Clause
license-file: LICENSE
stability: experimental
homepage: http://feldspar.github.com
bug-reports: https://github.com/feldspar/feldspar-language/issues
build-type: Custom
tested-with: GHC==8.8.3, GHC==8.10.1
extra-source-files:
examples/Examples/Simple/Basics.hs
examples/Tutorial/*.lhs
source-repository head
type: git
location: git://github.com/Feldspar/feldspar-language.git
-- Flag UseICC
-- Description: Use ICC for compiling benchmarks.
-- Default: False
library
exposed-modules:
Feldspar
Feldspar.Lattice
Feldspar.Range
Feldspar.Core.AdjustBindings
Feldspar.Core.Eval
Feldspar.Core.Language
Feldspar.Core.NestedTuples
Feldspar.Core.Reify
Feldspar.Core.Representation
Feldspar.Core.Semantics
Feldspar.Core.SizeProp
Feldspar.Core.Tuple
Feldspar.Core.Types
Feldspar.Core.UntypedRepresentation
Feldspar.Core.ValueInfo
Feldspar.Core.Middleend.Constructors
Feldspar.Core.Middleend.CreateTasks
Feldspar.Core.Middleend.Expand
Feldspar.Core.Middleend.FromTyped
Feldspar.Core.Middleend.LetSinking
Feldspar.Core.Middleend.OptimizeUntyped
Feldspar.Core.Middleend.PassManager
Feldspar.Core.Middleend.PushLets
Feldspar.Core.Middleend.UniqueVars
Feldspar.Core.Frontend
Feldspar.Core.Collection
Feldspar.Future
Feldspar.Memoize
Feldspar.Mutable
Feldspar.Onnx.Operators
Feldspar.Option
Feldspar.Repa
Feldspar.Seq
Feldspar.Stream
Feldspar.Vector
Feldspar.Vector.Shape
Feldspar.SimpleVector
Feldspar.SimpleVector.Internal
Feldspar.SimpleVector.Push
Feldspar.Par
Feldspar.Algorithm.CRC
Feldspar.Algorithm.FFT
Feldspar.Algorithm.FFT.Push
Feldspar.Algorithm.FFT.Twids
Feldspar.Algorithm.FFT.Utils
-- Compiler
Feldspar.Compiler
Feldspar.Compiler.Imperative.ArrayOps
Feldspar.Compiler.Imperative.Representation
Feldspar.Compiler.Imperative.ExternalProgram
Feldspar.Compiler.Imperative.FromCore
Feldspar.Compiler.Imperative.Frontend
Feldspar.Compiler.Options
Feldspar.Compiler.Backend.C.CodeGeneration
Feldspar.Compiler.Backend.C.MachineLowering
Feldspar.Compiler.Backend.C.Tic64x
Feldspar.Compiler.Plugin
Feldspar.Compiler.Marshal
other-modules:
Paths_feldspar_language
autogen-modules:
Paths_feldspar_language
default-language: Haskell2010
build-depends:
array,
base >= 4.13.0 && < 5.9,
bytestring >= 0.10 && < 0.12,
containers >= 0.4 && < 0.7,
data-default >= 0.5,
directory >= 1.1,
filepath,
ghc,
ghci,
ghc-paths,
language-c-quote >= 0.12 && < 0.14,
mtl >= 2.0 && < 2.3,
QuickCheck >= 2.7 && < 3,
patch-combinators >= 0.2 && < 0.3,
plugins-multistage >= 0.6.3 && < 0.7,
prelude-edsl < 0.4,
pretty,
process,
srcloc,
storable-tuple >= 0.0.2,
storable-record >= 0.0.2.5,
stringsearch >= 0.3,
template-haskell,
tuple >= 0.2 && < 0.5,
monad-par >= 0.3.4.5,
deepseq,
random >= 1.0 && < 1.4,
data-default >= 0.5.3 && < 0.8,
data-hash >= 0.2.0.1 && < 100,
tree-view
cc-options: -std=c99 -Wall -fPIC
-- MonoLocalBinds is the "Let should not be generalized" paper. Our binds
-- are normally monomorphic so this costs nothing for the common case
-- and if we need a polymorphic bind we can add a type signature.
-- MonoLocalBinds is implied by enabling GADTs but we want it for all
-- modules to avoid simplifiable class constraint warnings in GHC 8.2
-- and later.
default-extensions:
MonoLocalBinds
include-dirs:
./src/clib/include
install-includes:
feldspar_array.h
feldspar_c99.h
feldspar_tic64x.h
feldspar_tic64x.c
feldspar_future.h
log.h
ivar.h
ivar.c
taskpool.h
taskpool.c
hs-source-dirs: src examples
executable onnxToFeld
main-is: OnnxToFeld.hs
default-extensions:
MonoLocalBinds
hs-source-dirs: src/Onnx
other-modules:
Onnx.AttributeProto
Onnx.AttributeProto.AttributeType
Onnx.GraphProto
Onnx.ModelProto
Onnx.NodeProto
Onnx.OperatorSetIdProto
Onnx.SparseTensorProto
Onnx.StringStringEntryProto
Onnx.TensorAnnotation
Onnx.TensorProto
Onnx.TensorProto.DataLocation
Onnx.TensorProto.DataType
Onnx.TensorProto.Segment
Onnx.TensorShapeProto
Onnx.TensorShapeProto.Dimension
Onnx.TensorShapeProto.Dimension.Value
Onnx.TrainingInfoProto
Onnx.TypeProto
Onnx.TypeProto.Map
Onnx.TypeProto.Sequence
Onnx.TypeProto.Tensor
Onnx.TypeProto.Value
Onnx.ValueInfoProto
Onnx.Version
default-language: Haskell2010
ghc-options: -O2
build-depends:
feldspar-language,
base >= 4.13.0 && < 5.9,
bytestring >= 0.10,
containers,
filepath,
floatshow,
protocol-buffers >= 2,
utf8-string >= 0.3.7
test-suite tutorial
type: exitcode-stdio-1.0
hs-source-dirs: tests examples
main-is: TutorialTest.hs
default-extensions:
MonoLocalBinds
other-modules:
Tutorial.Basic
Tutorial.Array
Tutorial.Patch
Tutorial.Size
Tutorial.SimpleVector
Tutorial.Vector
default-language: Haskell2010
build-depends:
feldspar-language,
base,
bytestring >= 0.9
ghc-options: -threaded -with-rtsopts=-maxN12
test-suite regression
type: exitcode-stdio-1.0
hs-source-dirs: tests examples
main-is: RegressionTests.hs
default-extensions:
MonoLocalBinds
other-modules:
Examples.Simple.Basics
Feldspar.Applications.TFModel
Feldspar.Core.Test
Feldspar.Mutable.Test
Feldspar.Range.Test
Feldspar.Stream.Test
Feldspar.Tuple.Test
Feldspar.Vector.Test
default-language: Haskell2010
build-depends:
feldspar-language,
mtl,
base,
bytestring >= 0.9,
directory,
filepath,
random >= 1.0 && < 1.4,
stringsearch >= 0.3,
tasty >= 0.3,
tasty-golden >= 2.3.0.1,
tasty-quickcheck >= 0.3,
tasty-th >= 0.1,
QuickCheck >= 2.7.1 && < 3.0
if os(windows)
build-depends: Win32
ghc-options: -threaded -with-rtsopts=-maxN12
benchmark crc
type: exitcode-stdio-1.0
hs-source-dirs: benchs
main-is: CRC.hs
default-extensions:
MonoLocalBinds
other-modules:
BenchmarkUtils
default-language: Haskell2010
ghc-options: -O2
build-depends:
feldspar-language,
base,
criterion >= 1.0,
data-default >= 0.5.3 && < 0.8,
deepseq
benchmark fft
type: exitcode-stdio-1.0
hs-source-dirs: benchs
main-is: FFT.hs
default-extensions:
MonoLocalBinds
other-modules:
BenchmarkUtils
default-language: Haskell2010
ghc-options: -O2
build-depends:
feldspar-language,
base,
criterion >= 1.0,
data-default >= 0.5.3 && < 0.8,
deepseq
-- benchmark matmul
-- type: exitcode-stdio-1.0
--
-- hs-source-dirs: benchs
--
-- main-is: MatMul.hs
--
-- default-extensions:
-- MonoLocalBinds
--
-- other-modules:
-- BenchmarkUtils
--
-- c-sources: benchs/MatMulC.c
--
-- default-language: Haskell2010
--
-- ghc-options: -O2
--
-- CC-Options: -fno-vectorize
-- if flag(UseICC)
-- x-cc-name: icc
--
-- build-depends:
-- feldspar-language,
-- base,
-- criterion >= 1.0,
-- data-default >= 0.5.3 && < 0.8,
-- deepseq,
-- plugins-multistage
custom-setup
setup-depends:
base,
Cabal,
filepath,
process