Hi! I've played around with GPU computing using OpenCL and thought about an integration in VOLK. Actually, I have implemented a proof of concept [0] and as example a kernel, which multiplies two NxN matrices.
The result of running volk_profile using my GeForce GT 730M looks like this: [blub build]$ ./apps/volk_profile -i 10 -v 1000000 Using VOLK machine: avx2_64_mmx_orc_opencl Using OpenCL device: GeForce GT 730M RUN_VOLK_TESTS: volk_32f_x2_matrix_nxn_multiply_puppet_32f(1000000,10) generic completed in 28482ms a_opencl completed in 13364.3ms Best aligned arch: a_opencl Best unaligned arch: generic Writing "/home/blub/.volk/volk_config"... The greatest effort is implementing a good algorithm to select the desired OpenCL device during the VOLK init (such as the selection of the correct machine). Everything else is already provided by the framework. I am posting this just as a proof of concept, but probably it is worth to think about doing this properly. Perhaps this could be a good GSoC project? Greetings Stefan [0] https://github.com/stwunsch/volk/tree/opencl_example _______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
