GithubHelp home page GithubHelp logo

cudnn.jl's People

Contributors

denizyuret avatar dfdx avatar femtocleaner[bot] avatar maleadt avatar mikeinnes avatar tkelman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

cudnn.jl's Issues

Any updated wrapper for cudnn?

Hello there,

I understand this package is no longer maintained.

If you happen to see this message and know of any updated wrapper for cudnn, would you please let me know?

All the best,
Marc

Transferring to JuliaGPU

Hi Deniz,

If you click the "settings" button, then under "Danger Zone" you'll find "Transfer ownership." You should be able to transfer to JuliaGPU; I see you're already an owner for that organization.

Info about upcoming removal of packages in the General registry

As described in https://discourse.julialang.org/t/ann-plans-for-removing-packages-that-do-not-yet-support-1-0-from-the-general-registry/ we are planning on removing packages that do not support 1.0 from the General registry. This package has been detected to not support 1.0 and is thus slated to be removed. The removal of packages from the registry will happen approximately a month after this issue is open.

To transition to the new Pkg system using Project.toml, see https://github.com/JuliaRegistries/Registrator.jl#transitioning-from-require-to-projecttoml.
To then tag a new version of the package, see https://github.com/JuliaRegistries/Registrator.jl#via-the-github-app.

If you believe this package has erroneously been detected as not supporting 1.0 or have any other questions, don't hesitate to discuss it here or in the thread linked at the top of this post.

What operations do we actually need?

I've just "implemented" (by copy-and-pasting from Knet.jl) a new CuConv.jl package for convolution and pooling on CUDA. I haven't tested it thoroughly yet, but all in all it seems to work as is and it basically covers everything that I personally want to have from cuDNN. Also, as discussed in JuliaGPU/CuArrays.jl#22, many operations from cuDNN might be better to implement in Julia itself. So the question arises - what other functions do we actually need?

What's included in Knet.jl / CuConv.jl:

  1. Convolution.
  2. Deconvolution.
  3. Pooling.
  4. Unpooling.

What's not there:

  1. LRNCrossChannel (I don't actually know what it is).
  2. Divisive normalization.
  3. Batch normalization (not implemented in CUDNN.jl, but there's version from Knet).
  4. TransformTensor (alpha * src + beta * dest -> dest).
  5. AddTensor.
  6. SetTensor (src .= value).
  7. ScaleTensor (src .*= alpha).
  8. Activation functions (sigmoid, relu, tanh).
  9. Softmax.

For me almost everything here looks like a better fit for CUBLAS + CUDAnative (with additional bonus of fused broadcasting). If so, we could deprecate CUDNN and instead concentrate on a more Julian approach.

cc: @MikeInnes @jekbradbury @denizyuret

Location of `conv`

Although it's great to have ML-specific functionality held separately from base CuArrays in this package, I'm wondering if we should keep convolutions in CuArrays itself (effectively making it part of the standard library). Image processing is a big use case for GPUs, and it'd be particularly nice if CuArrays and ImageFiltering.jl worked out of the box together.

This wouldn't imply any hard dependency on CUDNN for CuArrays, only the soft dep that we already have (and we could have slower backup kernels when CUDNN isn't available).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.