-
Notifications
You must be signed in to change notification settings - Fork 15
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
first version of OpenCL support for operations on rasters (and soon f… #32
Conversation
…eature collections) Co-authored-by: Christian Beilschmidt <[email protected]>
Unfortunately there is an issue that results in tests failing when they are run in parallel. I created an issue cogciprocate/ocl#189 |
workaround: b0179ca |
Co-authored-by: Christian Beilschmidt <[email protected]>
…alue of some RasterDataType-like enum
# Conflicts: # operators/src/error.rs # operators/src/lib.rs # operators/src/processing/mod.rs
I implemented functionality for computing opencl kernels on Rasters and MultiPointCollections (and an example expression operator). Still missing functionality:
There is also a lot of room for improvement for code conciseness and performance. There is also a problem where sometimes arrow buffers are not correctly allocated. It happens sometimes when executing the tests multiple times in successions. Please give me some feedback on the work and input on how we can limit the scope of this pull request s.t. it can be merged eventually. |
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.
Looks very good so far. You missed at your "missing out…" list that the expression is limited to two rasters for now.
Otherwise, I found no major issues to not merge a first version, but still have some comments that should be addressed first.
there are multiple things which we should discuss:
|
no, then we wouldn't need support for feature collections. it's meant as generic mechanism for transfering data for opencl processing s.t. not every operators need to performt the mapping of data
handling overlapping tiles is responsibility of the opencl kernel code and the operator that feeds the data into the cl program. I don't see any inherent limitations in my code as It's solely responsible for encapsulating the transfer to and from the opencl device
For now, they can be hardcoded into the kernel which of course limits reusablity. I think it makes sense to add scalar arguments to the CLProgram. But I think we can do it later when we need it.
The scalability is indeed limited. We should be careful with data type conversion, because otherwise we could have saved ourselves from having such a great type variety in the first and only support one type of rasters. Either way I think this is independent of the main focus of this PR which is the open cl interface. |
…eature collections)
Co-authored-by: Christian Beilschmidt [email protected]