-
Notifications
You must be signed in to change notification settings - Fork 72
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
Addition of CuPy as an Accelerated Computing Option #499
Merged
Merged
Changes from all commits
Commits
Show all changes
63 commits
Select commit
Hold shift + click to select a range
8f159a9
modifications to use CuPy in Fresnel propagation
8890980
fixed issue with pad_or_crop_to_shape returning zeros with cupy
53e4e91
working on more elegant implementation of cupy
9fac1b5
cupy working with FITSOpticalElements, changed resampling techniques …
8a4a5f2
Fraunhofer systems and DM functionality with Cupy
07fd452
ContinuousDeformableMirror works with CuPy when given influence_func
f79bcfb
cupy integrated for more optics: particularly for WFE optics
03e40ed
minor modifications for a couple optics to work with cupy
d680b3e
Merge branch 'spacetelescope:develop' into develop
kian1377 c365e22
cupy now functional with most optical elements for Fraunhofer and Fre…
b6d71d3
minor update for SegmentedDeformableMirrors to be CuPy compatible
5f604e7
making sure tests pass, currently only Kolmogorov test does not pass
c091d60
modified KolmogorovWFE.power_spectrum and test_wfe to work with diffe…
eaae159
Merge branch 'spacetelescope:develop' into develop
kian1377 2128f71
minor update to rotation of analytic optics
f42e8ea
minor update to check if a GPU exists when CuPy available
6961c19
Merge branch 'spacetelescope:develop' into develop
kian1377 ddd9306
changes to allow for switching between CPU and GPU with CuPy
4c6588a
Merge branch 'develop' of https://github.com/kian1377/poppy into develop
70442dc
most functionality restored along with ability to switch between CPU …
1b9b131
a few minor changes for scipy ndimage and special functions
9457f8c
minor update for accel_math test and cleaning up code
fcc8ccd
CuPy update for matrixDFT and FITSOpticalElement resample
8ba5a6c
FITSOpticalElement change for when only OPD is supplied to be CuPy co…
34afa79
implemneted map_coordinates for wavefront resampling with cupy and mi…
d6059af
Merge branch 'spacetelescope:develop' into develop
kian1377 b697e07
updated zernike.py so switching between CPU and CuPy works for Zernik…
298f1cf
minor fixes for BaseWavefront and zernike.arbitrary_basis
9fe56af
minor update for zernike.py functionality
kian1377 d005c2c
had to delete a line
kian1377 5b7c460
Merge branch 'spacetelescope:develop' into develop
kian1377 cb10c6b
fixed geometry.py _ncp.float to _ncp.float64 as float was deprecated
kian1377 ec6465d
Allow display code to handle GPU arrays, transferring data to main me…
mperrin b1ae90b
get test_core passing on GPU
mperrin e615458
get test_accel_math and test_utils passing
mperrin 47372da
Fix subtle indexing inconsistency in Fresnel resampling function.
mperrin 0c32d7d
Get test_fresnel passing
mperrin 6090180
get tests working in several more files
mperrin dda712e
get test_instruments passing on GPU
mperrin 6de49a2
get test_matrixDFT passing on GPU
mperrin 9e01ba2
get test_optics passing on GPU
mperrin f4d6d8d
get test_geometry passing on GPU
mperrin 7e428d8
get tests_multiprocessing 'passing' (really, mostly skipped) on windows
mperrin 12cca34
get test_sign_conventions passing on GPU
mperrin 29e4f0c
get test_zernike passing on GPU
mperrin 906d61b
fix one test_fresnel function that was missed before
mperrin 1cc7650
getting test_fft to pass
kian1377 bc131a2
made numexpr be imported if NUMEXPR_AVAILABLE and cleaned up commente…
kian1377 fa7b4d3
debugging issues with test_wfe on gpu
kian1377 922e3d6
getting physical wavefront and some more wfe tests to pass on GPU
kian1377 d33b8a5
all tests now pass on GPU on my machine
kian1377 b63bc3c
minor changes to the wfe and test_wfe files
kian1377 5affeec
Merge branch 'develop' into develop
kian1377 d2edb25
making sure everything is up to date with local repo
kian1377 e5c02e7
renamed _ncp to xp to be consistent with common practices
kian1377 02e3889
minor: cleanup comments and whitespace
mperrin 8cb000d
clean up / simplify imports. Avoid proliferating calls to update_math…
mperrin 4ea0d07
more whitespace and comment cleanup
mperrin 4699058
switch to xp convention for numpy/cupy in all files, including tests
mperrin 105b83a
Merge branch 'develop' into develop
mperrin c71e2d2
fix syntax error typo from prior commit
mperrin 4c38bd8
fix to run update_math_settings once on initial import
mperrin c2f925b
one more round of comment/whitespace cleanup for GPU code
mperrin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couldn't we simplify this whole part to use
_ncp
, orxp
after that switch, to call the appropriate CPU/GPU code? In other words like:This is true for several places here in accel_math.py.
For now I'm choosing to leave this as-is - we want to get this PR merged in rather than keep polishing indefinitely :-)