packages feed

hasktorch-ffi-thc-0.0.1.0: hasktorch-ffi-thc.cabal

cabal-version: 2.2
-- * * * * * * * * * * * * WARNING * * * * * * * * * * * *
-- This file has been AUTO-GENERATED by dhall-to-cabal.
--
-- Do not edit it by hand, because your changes will be over-written!
--
-- Instead, edit the source Dhall file, namely
-- 'ffi/ffi/thc/hasktorch-ffi-thc.dhall', and re-generate this file by running
-- 'dhall-to-cabal -- ffi/ffi/thc/hasktorch-ffi-thc.dhall > hasktorch-ffi-thc.cabal'.
-- * * * * * * * * * * * * WARNING * * * * * * * * * * * *
name: hasktorch-ffi-thc
version: 0.0.1.0
license: BSD-3-Clause
maintainer: Sam Stites <fnz@fgvgrf.vb>, Austin Huang <nhfgvau@nyhz.zvg.rqh> - cipher:ROT13
author: Hasktorch dev team
homepage: https://github.com/hasktorch/hasktorch#readme
bug-reports: https://github.com/hasktorch/hasktorch/issues
synopsis: Bindings to Cutorch
description:
    Cutorch (and THCUNN) FFI bindings for GPU-based tensors and neural networks in Haskell
category: Tensors, Machine Learning, AI, FFI
build-type: Simple

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

flag half
    description:
        build with half support
    default: False

flag lite
    description:
        only build with Double and Long support
    default: False

flag float
    description:
        Build with float support. THC doesn't seem to build uniform Float types by default.
    default: False

flag with_nn
    description:
        build with nn support

library
    exposed-modules:
        Torch.FFI.THC.State
        Torch.FFI.THC.Stream
        Torch.FFI.THC.Blas
        Torch.FFI.THC.Half
        Torch.FFI.THC.CachingHostAllocator
        Torch.FFI.THC.CachingAllocator
        Torch.FFI.THC.Sleep
        Torch.FFI.THC.TensorMath
        Torch.FFI.THC.TensorRandom
        Torch.FFI.THC.General
        Torch.FFI.THC.Long.Storage
        Torch.FFI.THC.Long.StorageCopy
        Torch.FFI.THC.Long.Tensor
        Torch.FFI.THC.Long.TensorCopy
        Torch.FFI.THC.Long.TensorIndex
        Torch.FFI.THC.Long.TensorMode
        Torch.FFI.THC.Long.TensorMath
        Torch.FFI.THC.Long.TensorMathCompareT
        Torch.FFI.THC.Long.TensorMathScan
        Torch.FFI.THC.Long.TensorMathPairwise
        Torch.FFI.THC.Long.TensorMathPointwise
        Torch.FFI.THC.Long.TensorMathReduce
        Torch.FFI.THC.Long.TensorMasked
        Torch.FFI.THC.Long.TensorMathCompare
        Torch.FFI.THC.Long.TensorRandom
        Torch.FFI.THC.Long.TensorScatterGather
        Torch.FFI.THC.Long.TensorSort
        Torch.FFI.THC.Long.TensorTopK
        Torch.FFI.THC.Double.Storage
        Torch.FFI.THC.Double.StorageCopy
        Torch.FFI.THC.Double.Tensor
        Torch.FFI.THC.Double.TensorCopy
        Torch.FFI.THC.Double.TensorIndex
        Torch.FFI.THC.Double.TensorMode
        Torch.FFI.THC.Double.TensorMath
        Torch.FFI.THC.Double.TensorMathCompareT
        Torch.FFI.THC.Double.TensorMathScan
        Torch.FFI.THC.Double.TensorMathPairwise
        Torch.FFI.THC.Double.TensorMathPointwise
        Torch.FFI.THC.Double.TensorMathReduce
        Torch.FFI.THC.Double.TensorMasked
        Torch.FFI.THC.Double.TensorMathCompare
        Torch.FFI.THC.Double.TensorRandom
        Torch.FFI.THC.Double.TensorScatterGather
        Torch.FFI.THC.Double.TensorSort
        Torch.FFI.THC.Double.TensorTopK
        Torch.FFI.THC.Double.TensorMathMagma
        Torch.FFI.THC.Double.TensorMathBlas
    build-tools: c2hs -any
    cpp-options: -DCUDA
    c-sources:
        cbits/state_stuff.c
    hs-source-dirs: src nn state
    other-modules:
        Paths_hasktorch_ffi_thc
    autogen-modules:
        Paths_hasktorch_ffi_thc
    default-language: Haskell2010
    extra-libraries:
        ATen
    build-depends:
        base (==4.7 || >4.7) && <5,
        hasktorch-types-th (==0.0.1 || >0.0.1) && <0.0.2,
        hasktorch-types-thc (==0.0.1 || >0.0.1) && <0.0.2,
        inline-c ==0.5 || >0.5,
        text ==1.2.2 || >1.2.2
    
    if flag(lite)
        
        if flag(float)
        else
        
        if flag(half)
        else
    else
        exposed-modules:
            Torch.FFI.THC.Byte.Storage
            Torch.FFI.THC.Byte.StorageCopy
            Torch.FFI.THC.Byte.Tensor
            Torch.FFI.THC.Byte.TensorCopy
            Torch.FFI.THC.Byte.TensorIndex
            Torch.FFI.THC.Byte.TensorMode
            Torch.FFI.THC.Byte.TensorMath
            Torch.FFI.THC.Byte.TensorMathCompareT
            Torch.FFI.THC.Byte.TensorMathScan
            Torch.FFI.THC.Byte.TensorMathPairwise
            Torch.FFI.THC.Byte.TensorMathPointwise
            Torch.FFI.THC.Byte.TensorMathReduce
            Torch.FFI.THC.Byte.TensorMasked
            Torch.FFI.THC.Byte.TensorMathCompare
            Torch.FFI.THC.Byte.TensorRandom
            Torch.FFI.THC.Byte.TensorScatterGather
            Torch.FFI.THC.Byte.TensorSort
            Torch.FFI.THC.Byte.TensorTopK
            Torch.FFI.THC.Char.Storage
            Torch.FFI.THC.Char.StorageCopy
            Torch.FFI.THC.Char.Tensor
            Torch.FFI.THC.Char.TensorCopy
            Torch.FFI.THC.Char.TensorIndex
            Torch.FFI.THC.Char.TensorMode
            Torch.FFI.THC.Char.TensorMath
            Torch.FFI.THC.Char.TensorMathCompareT
            Torch.FFI.THC.Char.TensorMathScan
            Torch.FFI.THC.Char.TensorMathPairwise
            Torch.FFI.THC.Char.TensorMathPointwise
            Torch.FFI.THC.Char.TensorMathReduce
            Torch.FFI.THC.Char.TensorMasked
            Torch.FFI.THC.Char.TensorMathCompare
            Torch.FFI.THC.Char.TensorRandom
            Torch.FFI.THC.Char.TensorScatterGather
            Torch.FFI.THC.Char.TensorSort
            Torch.FFI.THC.Char.TensorTopK
            Torch.FFI.THC.Int.Storage
            Torch.FFI.THC.Int.StorageCopy
            Torch.FFI.THC.Int.Tensor
            Torch.FFI.THC.Int.TensorCopy
            Torch.FFI.THC.Int.TensorIndex
            Torch.FFI.THC.Int.TensorMode
            Torch.FFI.THC.Int.TensorMath
            Torch.FFI.THC.Int.TensorMathCompareT
            Torch.FFI.THC.Int.TensorMathScan
            Torch.FFI.THC.Int.TensorMathPairwise
            Torch.FFI.THC.Int.TensorMathPointwise
            Torch.FFI.THC.Int.TensorMathReduce
            Torch.FFI.THC.Int.TensorMasked
            Torch.FFI.THC.Int.TensorMathCompare
            Torch.FFI.THC.Int.TensorRandom
            Torch.FFI.THC.Int.TensorScatterGather
            Torch.FFI.THC.Int.TensorSort
            Torch.FFI.THC.Int.TensorTopK
            Torch.FFI.THC.Short.Storage
            Torch.FFI.THC.Short.StorageCopy
            Torch.FFI.THC.Short.Tensor
            Torch.FFI.THC.Short.TensorCopy
            Torch.FFI.THC.Short.TensorIndex
            Torch.FFI.THC.Short.TensorMode
            Torch.FFI.THC.Short.TensorMath
            Torch.FFI.THC.Short.TensorMathCompareT
            Torch.FFI.THC.Short.TensorMathScan
            Torch.FFI.THC.Short.TensorMathPairwise
            Torch.FFI.THC.Short.TensorMathPointwise
            Torch.FFI.THC.Short.TensorMathReduce
            Torch.FFI.THC.Short.TensorMasked
            Torch.FFI.THC.Short.TensorMathCompare
            Torch.FFI.THC.Short.TensorRandom
            Torch.FFI.THC.Short.TensorScatterGather
            Torch.FFI.THC.Short.TensorSort
            Torch.FFI.THC.Short.TensorTopK
        
        if flag(float)
            exposed-modules:
                Torch.FFI.THC.Float.Storage
                Torch.FFI.THC.Float.StorageCopy
                Torch.FFI.THC.Float.Tensor
                Torch.FFI.THC.Float.TensorCopy
                Torch.FFI.THC.Float.TensorIndex
                Torch.FFI.THC.Float.TensorMode
                Torch.FFI.THC.Float.TensorMath
                Torch.FFI.THC.Float.TensorMathCompareT
                Torch.FFI.THC.Float.TensorMathScan
                Torch.FFI.THC.Float.TensorMathPairwise
                Torch.FFI.THC.Float.TensorMathPointwise
                Torch.FFI.THC.Float.TensorMathReduce
                Torch.FFI.THC.Float.TensorMasked
                Torch.FFI.THC.Float.TensorMathCompare
                Torch.FFI.THC.Float.TensorRandom
                Torch.FFI.THC.Float.TensorScatterGather
                Torch.FFI.THC.Float.TensorSort
                Torch.FFI.THC.Float.TensorTopK
                Torch.FFI.THC.Float.TensorMathMagma
                Torch.FFI.THC.Float.TensorMathBlas
        else
        
        if flag(half)
            exposed-modules:
                Torch.FFI.THC.Half.Storage
                Torch.FFI.THC.Half.StorageCopy
                Torch.FFI.THC.Half.Tensor
                Torch.FFI.THC.Half.TensorCopy
                Torch.FFI.THC.Half.TensorIndex
                Torch.FFI.THC.Half.TensorMode
                Torch.FFI.THC.Half.TensorMath
                Torch.FFI.THC.Half.TensorMathCompareT
                Torch.FFI.THC.Half.TensorMathScan
                Torch.FFI.THC.Half.TensorMathPairwise
                Torch.FFI.THC.Half.TensorMathPointwise
                Torch.FFI.THC.Half.TensorMathReduce
                Torch.FFI.THC.Half.TensorMasked
                Torch.FFI.THC.Half.TensorMathCompare
                Torch.FFI.THC.Half.TensorRandom
                Torch.FFI.THC.Half.TensorScatterGather
                Torch.FFI.THC.Half.TensorSort
                Torch.FFI.THC.Half.TensorTopK
        else
    
    if flag(with_nn)
        exposed-modules:
            Torch.FFI.THC.NN.Double
    else

test-suite spec
    type: exitcode-stdio-1.0
    main-is: Spec.hs
    hs-source-dirs: tests
    other-modules:
        MathSpec
        TensorSpec
        Internal
    default-language: Haskell2010
    build-depends:
        base (==4.7 || >4.7) && <5,
        QuickCheck ==2.11 || >2.11,
        hasktorch-ffi-tests (==0.0.1 || >0.0.1) && <0.0.2,
        hasktorch-ffi-th (==0.0.1 || >0.0.1) && <0.0.2,
        hasktorch-ffi-thc -any,
        hasktorch-types-th (==0.0.1 || >0.0.1) && <0.0.2,
        hasktorch-types-thc (==0.0.1 || >0.0.1) && <0.0.2,
        hspec ==2.4.4 || >2.4.4,
        text ==1.2.2 || >1.2.2
    
    if flag(with_nn)
        other-modules:
            NNSpec
    else