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

make use of linalg within Shogun #2747

Open
karlnapf opened this issue Feb 28, 2015 · 8 comments
Open

make use of linalg within Shogun #2747

karlnapf opened this issue Feb 28, 2015 · 8 comments

Comments

@karlnapf
Copy link
Member

This task is to make Shogun's internal make use of the new linalg framework

It is pretty simple: Take a method that you want to replace, say some dot product. Then go through Shogun's code and search for appearances of dot products. Those could take a lot of different forms

  • manual loops
  • lapack calls (look up the dot product call in lapack)
  • eigen3 calls (easier to find, search for eigen3 in the code)

For example, linear solves are much easier to find as you can search for eigen3/lapack's method for that directly.

@karlnapf
Copy link
Member Author

Useful for the linalg GSoC project. https://github.com/shogun-toolbox/shogun/wiki/GSoC_2015_project_linalg

@sanuj
Copy link
Contributor

sanuj commented Feb 28, 2015

Are we using c++11 everywhere in shogun then?

@SunilMahendrakar
Copy link
Contributor

@karlnapf I have already started on this with scale #2717 pull #2744. I will add more soon.

@karlnapf
Copy link
Member Author

@sanuj it is not yet done. @lambday will guide this and merge the requirement patch too ;)

@ajaybhat
Copy link

@karlnapf & @SunilMahendrakar could i know the status of this? Maybe I could pick up where you left off.

@ckousik
Copy link
Contributor

ckousik commented Dec 25, 2017

https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/distributions/Gaussian.cpp#L318
@karlnapf Shouldn't the LAPACK call be scrapped in favor of the linalg call instead of the conditional compilation?

@karlnapf
Copy link
Member Author

absolutely! I think most of linalg that is needed is there, so that should be easy. Make sure to send a few minimal unit tests before modifying the code ...

vinx13 added a commit to vinx13/shogun that referenced this issue Jan 13, 2018
vinx13 added a commit to vinx13/shogun that referenced this issue Jan 13, 2018
vinx13 added a commit to vinx13/shogun that referenced this issue Jan 14, 2018
vinx13 added a commit to vinx13/shogun that referenced this issue Jan 14, 2018
vinx13 added a commit to vinx13/shogun that referenced this issue Jan 14, 2018
vinx13 added a commit to vinx13/shogun that referenced this issue Jan 15, 2018
vinx13 added a commit to vinx13/shogun that referenced this issue Jan 15, 2018
karlnapf pushed a commit to karlnapf/shogun that referenced this issue Feb 4, 2018
@karlnapf
Copy link
Member Author

There are still many loops who wait to be replaced with linalg calls

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

No branches or pull requests

5 participants