Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate a shared library for one Theano function #2722

Open
8 tasks
nouiz opened this issue Apr 2, 2015 · 6 comments
Open
8 tasks

Generate a shared library for one Theano function #2722

nouiz opened this issue Apr 2, 2015 · 6 comments

Comments

@nouiz
Copy link
Member

nouiz commented Apr 2, 2015

This is a follow up from gh-1408. We should not focus on windows as gh-1408, but we can take the branch started there as it was working for some case on Linux.

The branch that contain the current prototype:
https://github.com/nouiz/Theano/tree/shared_lib_rebased

Problem: It would be very useful to generate a shared library from a Theano function. This would allow to reuse it in other program and on embdede system more easily.

  • Rebase the branch (up to April 13 2015: https://github.com/AlOa/Theano/tree/embed_theano)
  • Make a user interface to enable/not enable that feature
  • Bring the prototype to a working version without adding new feature.
  • Document it.
  • Add support for scalar constant value in the graph.
  • Make a configuration option to enable/disable GC of intermediate results.
  • Make an interface to support shared variables.

later:

  • To make it work on Windows, we need to back-port some c code that use C99 features.
@nouiz nouiz changed the title theano.function generate a shared library with a C example Generate a shared library for one Theano function Apr 2, 2015
@cancan101
Copy link

Is this related: #2271 ?

@nouiz
Copy link
Member Author

nouiz commented Apr 4, 2015

Yes, it mostly tell more information on the follow up from gh-1408. I updated 2271 to reference this one instead.

@nouiz
Copy link
Member Author

nouiz commented Apr 29, 2015

Some update, a rebase is available in this branch: https://github.com/AlOa/Theano/tree/embed_theano

@mpslxz
Copy link

mpslxz commented Jun 22, 2017

@nouiz Any updates about this issue? I was thinking about starting it. Do you think it is still worth doing it?

@nouiz
Copy link
Member Author

nouiz commented Jun 22, 2017

I still see a need for that, but it isn't an easy problem and we currently don't have time to help/review work on this. This week, someone started to work here, so maybe we could handle review/guide on this, but it isn't sure.

We have the deep learning montreal summer school for the next 2 weeks, so now isn't a good time.

I made a prototype many years ago and @AlOa continued it and rebased it a few times: #3350, but I didn't got enough time to review/guide him well enough. What is your timeline? What exactly do you want?

@mpslxz
Copy link

mpslxz commented Jun 22, 2017

Oh I understand that you guys are very busy because of the summer school. My schedule is packed too. In face, I would have my PhD defence in a few months 😉 but I'd love to make some time for this and I definitely agree that this is not an easy thing to do. I was thinking about having a "converter" that traverses the computation graph and generates the equivalent in say MKL or some parallel library. However, I liked the idea of shared library more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants