I'm Wei Wang, a CS master student focusing on high-performance computing field. `boost::ublas` project 3 adding GPU computation interests me a lot and I'd like to help add this feature to ublas. I find this project was also on last years' list and I'm curious if anyone did this before or on which stage he/she has finished. I've already read the initial source code of `ublas` in `boost 1.29`(I also read 1.66 API, and found it add one concept `container`, which used to be `bounded_array` and `unbounded_array`). I wrote a passage describing its template parameter deduction relationships. Besides, I wrote a series blogs teaching how to use openCL efficiently with proper data partition and memory usage. This is my first time participating in GSOC, and I'm a bit of confused on following question: 1. Integrating openCL requires preparing for context, command_queue, event and other "environment objects", should they also be included in this lib? 2. Take matrix matrix multiplication A*B for example. The last stage before matrix copy assignment is in `matrix_matrix_prob` class and its evaluation requires loop through all items on both matrix. If I want to add GPU compute features, I need to launch kernel for each computation expression at this step, but it seems to be contradictory to `ublas`'s lazy evaluation rationale. How to reconcile that? 3. What should I implement in the competency matrix class? Just integer matrix or template matrix class?Should I support current `ublas` interface(those typedefs and traits)? Best regards, Wei Wang -- Sent from: http://boost.2283326.n4.nabble.com/Boost-Dev-f2600599.html
Hi,
as it seems you already spent some time working on gpu acceleration, you
could be a good candidate.
So the first thing to do is to work on the competency test. I expect
students to show me they can work with advanced concept as expression
templates and implement a small library by themselves. You don't need to be
compatible with ublas.
In the same time, you can start to work on writing your proposal: what you
want to achieve, how and when, with a planning, ressources, etc...
The proposal I've made on the wiki is very small students should work on a
much bigger document now. It's also part of the selection process by the
way.
Your big proposal is what we will submit to google at the end anyway.
For ublas, I will be the mentor so you can send it to me directly.
Best,
David
On Sat, Jan 27, 2018 at 11:15 PM, Aperjump via Boost
I'm Wei Wang, a CS master student focusing on high-performance computing field. `boost::ublas` project 3 adding GPU computation interests me a lot and I'd like to help add this feature to ublas. I find this project was also on last years' list and I'm curious if anyone did this before or on which stage he/she has finished.
I've already read the initial source code of `ublas` in `boost 1.29`(I also read 1.66 API, and found it add one concept `container`, which used to be `bounded_array` and `unbounded_array`). I wrote a passage describing its template parameter deduction relationships. Besides, I wrote a series blogs teaching how to use openCL efficiently with proper data partition and memory usage.
This is my first time participating in GSOC, and I'm a bit of confused on following question: 1. Integrating openCL requires preparing for context, command_queue, event and other "environment objects", should they also be included in this lib? 2. Take matrix matrix multiplication A*B for example. The last stage before matrix copy assignment is in `matrix_matrix_prob` class and its evaluation requires loop through all items on both matrix. If I want to add GPU compute features, I need to launch kernel for each computation expression at this step, but it seems to be contradictory to `ublas`'s lazy evaluation rationale. How to reconcile that? 3. What should I implement in the competency matrix class? Just integer matrix or template matrix class?Should I support current `ublas` interface(those typedefs and traits)?
Best regards,
Wei Wang
-- Sent from: http://boost.2283326.n4.nabble.com/Boost-Dev-f2600599.html
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/ mailman/listinfo.cgi/boost
participants (2)
-
Aperjump
-
David Bellot