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

WIP: GPU tensors #739

Closed
wants to merge 166 commits into from
Closed

WIP: GPU tensors #739

wants to merge 166 commits into from

Conversation

kohr-h
Copy link
Member

@kohr-h kohr-h commented Nov 25, 2016

Second WIP PR. Much earlier stage than #738 but maybe some comments already applicable.

TODOs:

  • Make the basic structures (space, element, weighting) work
  • Implement ufuncs and reductions
  • Write optimized kernels for inner, dist and norm
  • Fence imports and dependencies on pygpu
  • Adapt the unit tests (complex dtypes etc.) and make them work for GPU arrays
  • Do some benchmarking to find out thresholds for Numpy vs GPU
  • Check if reductions in all axes run faster on flattened arrays. They should. No, because reshape of GpuArray objects copy the array, in contrast to Numpy.
  • Update documentation
  • Large-scale tests
  • What to do with the doctests? They fail if pygpu is not installed. Should the package be mandatory?
    Update: manual doctests are fixed by adding a conditional in the __main__ section, need to fix runs by pytest also.
  • Expose function to precompile kernels for linear space methods? Also add more of them.
  • Keep gpuary_tensors.py namespace clean by making context initialization code a function only returning the relevant stuff.

lico(a, x1.data, b, x2.data, out.data)


class GpuArrayTensorSpace(FnBase, GpuArrayRawTensorSpace):
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From here on, the rest is currently copy-paste from npy_ntuples.py. Ignore it.

This was referenced Nov 25, 2016
@kohr-h kohr-h changed the base branch from master to base_tensors November 25, 2016 23:58
@kohr-h kohr-h force-pushed the base_tensors branch 3 times, most recently from b10ab58 to 2f1cb4b Compare November 26, 2016 12:52
@kohr-h kohr-h force-pushed the base_tensors branch 2 times, most recently from 994c6a1 to 8e8ba6d Compare December 4, 2016 22:19
@kohr-h kohr-h closed this Dec 4, 2016
@kohr-h kohr-h reopened this Dec 5, 2016
@kohr-h kohr-h changed the base branch from base_tensors to issue-342__tensor December 6, 2016 23:54
@kohr-h kohr-h force-pushed the gpuarray branch 2 times, most recently from 24b4ea9 to 5bd5b45 Compare December 20, 2016 08:59
@kohr-h kohr-h force-pushed the issue-342__tensor branch from fff61da to 4ca2ddc Compare January 1, 2017 22:12
@kohr-h kohr-h force-pushed the gpuarray branch 4 times, most recently from 49cb419 to 330cbb4 Compare January 1, 2017 23:48
@kohr-h kohr-h force-pushed the issue-342__tensor branch 2 times, most recently from 362b26c to 3373171 Compare January 7, 2017 14:17
@adler-j
Copy link
Member

adler-j commented Jan 12, 2017

Great news:

Theano/Theano#4705 (comment)

Just a note, we are doing conda packages to help install pygpu. This will
make this much easier to install on windows.

@kohr-h
Copy link
Member Author

kohr-h commented Jan 12, 2017

I know - but good to hear that they are trying to make it work for Windows, too.

@kohr-h kohr-h force-pushed the issue-342__tensor branch from 19dc7bf to d8701ec Compare January 16, 2017 18:08
@kohr-h kohr-h force-pushed the issue-342__tensor branch from c25c793 to 9988b49 Compare October 2, 2017 10:01
@kohr-h kohr-h force-pushed the issue-342__tensor branch 2 times, most recently from 076fccc to 97bba94 Compare November 4, 2017 23:59
@kohr-h kohr-h force-pushed the issue-342__tensor branch 2 times, most recently from b2185c3 to 2eb7662 Compare November 13, 2017 14:10
@kohr-h kohr-h closed this Nov 13, 2017
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

Successfully merging this pull request may close these issues.

2 participants