Creating a Filter-Bank (Software-Design Question)

Hello @all,

I’m quite new to CUDA programming and right now I’m trying to write a small program.

My goal is to create a Filter-Bank and convolute a specific image with a set of created filters.

First of all I need to create my Filter-Bank. The details for my filters are not important but at least my kernel should return N filters for M different filter sizes.

So for example I need it to return N=8 different filters (specified by some parameters) for a filter size of 3x3, 5x5, 7x7. so in total it should return (NM)=(83)=24 different filters (8 filters for each scale; M={(3,3),(5,5),(7,7)} ).

My question is: How would you do that ? :)

I managed to do it manually by writing a kernel that takes kernel<<<number_of_filters (1D),filter_size (2D)>>> and run it sequentially for every filter size i.e.:


but I think that could be acheived much smarter??

I hope this is not too confusing and I’d appreciate any help :)