## openMHA + openCL

mandolini_
Posts: 15
Joined: Fri Feb 14, 2020 1:50 am

### openMHA + openCL

I'm trying to accomplish something with openMHA that is probably out of the ordinary for someone using this framework, so bear with me.

I am using openMHA on a BeagleBone AI, which has 2 CPU processors, 2 DSPs, and other co-processors. I have a strict latency limit with this hardware platform, so one of my ideas for reducing round-trip latency is to offload the FFT/iFFT to the DSP cores using TI's openCL implementation. This would speed up the computationally-intensive FFTs. This implementation works well for simple applications, so I decided to try and mix it with the MHA so that I could chain other plugins as well.

I created my "wave2spec" plugin (named "opencl") and chained it together with openMHA spec2wave, and got the following error:

Code: Select all

mha.algos=[ opencl spec2wave ]


Code: Select all

Error: (mhapluginloader) Error in module "mhachain:mhachain":
(mhapluginloader) The plugin /home/debian/openmha/build_dir/lib/opencl.so has no processing callback for waveform to waveform processing.
(Release failed with message:
"clFinish"

My question is, what is going on in the background of MHA? Why is this error happening, and what should I look for in the openCL code to resolve this?

tobiasherzke
Posts: 27
Joined: Mon Jun 24, 2019 12:51 pm

### Re: openMHA + openCL

Yes, this piece of documention is somewhat hard to find.

http://www.openmha.org/docs/openMHA_dev ... manual.pdf section 2.2.1.1 last paragraph should explain the idea.

See it applied like you need it here: https://github.com/HoerTech-gGmbH/openM ... c.cpp#L126 line 126