Skip to content

FFT using pyvkfft and use loopy callables#114

Merged
inducer merged 67 commits into
inducer:mainfrom
isuruf:fft
Aug 1, 2022
Merged

FFT using pyvkfft and use loopy callables#114
inducer merged 67 commits into
inducer:mainfrom
isuruf:fft

Conversation

@isuruf

@isuruf isuruf commented May 2, 2022

Copy link
Copy Markdown
Collaborator

@isuruf isuruf marked this pull request as draft May 2, 2022 03:43
@isuruf

isuruf commented May 25, 2022

Copy link
Copy Markdown
Collaborator Author

@inducer, this is ready for another look

Comment thread sumpy/fmm.py Outdated
Comment on lines +809 to +811
evt_fft = self.run_opencl_fft(queue,
preprocessed_source_mpoles_view,
inverse=False, wait_for=wait_for)

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Convert to out-of-place to be nice to our future, lazy-eval selves?

Comment thread sumpy/fmm.py Outdated
Comment on lines +809 to +811
evt_fft = self.run_opencl_fft(queue,
preprocessed_source_mpoles_view,
inverse=False, wait_for=wait_for)

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Suggested change
evt_fft = self.run_opencl_fft(queue,
preprocessed_source_mpoles_view,
inverse=False, wait_for=wait_for)
preprocessed_source_mpoles_view, evt_fft = self.run_opencl_fft(queue,
preprocessed_source_mpoles_view,
inverse=False, wait_for=wait_for)

Comment thread sumpy/fmm.py Outdated
Comment on lines +546 to +547
def get_opencl_fft_app(self, queue, shape, dtype):
return get_opencl_fft_app(queue, shape, dtype)

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Suggested change
def get_opencl_fft_app(self, queue, shape, dtype):
return get_opencl_fft_app(queue, shape, dtype)
def get_opencl_fft_app(self, shape, dtype):
with cl.CommandQueue(self.cl_context) as queue:
return get_opencl_fft_app(queue, shape, dtype)

Comment thread sumpy/fmm.py Outdated
@isuruf

isuruf commented Jun 22, 2022

Copy link
Copy Markdown
Collaborator Author

Using the private API from pyvkfft, this passes.

@inducer

inducer commented Jun 23, 2022

Copy link
Copy Markdown
Owner

Ready for review from your perspective? Or should we wait?

@isuruf

isuruf commented Jun 23, 2022

Copy link
Copy Markdown
Collaborator Author

Ready for review

Comment thread sumpy/tools.py Outdated
Comment thread sumpy/fmm.py Outdated
Comment on lines +556 to +558
def run_opencl_fft(self, queue, input_vec, inverse, wait_for, inplace):
app = self.tree_indep.opencl_fft_app(input_vec.shape, input_vec.dtype,
inplace)

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Ditch inplace?

@inducer inducer left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

🎉 LGTM (after inplace is gone)

@inducer inducer merged commit 9849af5 into inducer:main Aug 1, 2022
@inducer

inducer commented Aug 1, 2022

Copy link
Copy Markdown
Owner

Thanks!

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