Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Goran_N
Beginner
83 Views

DMIP Node_1_1 when input and output images have different size

Hi,
I am new to using DMIP. I was able to successfully run sample programs, and create my own with application with custom nodes, inheriting from 'Node_1_1'. I was all well and good, until I hit a case where in one of my steps I needed to sub-sample the image. I created the two images, and nodes I needed, added it all to a Graph, linked and run. But when I get into my node code, I found that, for example, 'paramCompile.srcStep[0]' and 'paramCompile.dstStep[0]' are same, as well as other image parameters. They all seem to be set to the output image parameters.
My question: Can 'Node_1_1' be used when input and output images are of different sizes? Is there any other way to accomplish what I need.

Thanks.

0 Kudos
5 Replies
Vladimir_Dudnik
Employee
83 Views


Hello,

thanks for your interest to DMIP. In the current version DMIP do not support operations which change image dimensions. We plan to introduce that support for future version.

Could you please share with us what computational task you want to implement with DMIP (so will take into account needed functionality for future releases)? Do you have any other feedback on DMIP? We are interested in your thoughts on that kind of parallel programming framework.


Regards,
Vladimir
Goran_N
Beginner
83 Views

Thanks for the reply. The task at hand involves image processing steps first at high resolution (in thousands of DPI) and the second stage at low resolution (few hundred DPI). So probably it's best to keep those two as separate graphs, with a custom (or IPP) down-sampling step in between. Most processing steps will involve arithmetic operations between the image and various masks.

Now I have another question: I ran supplied demos and my own simple designs. But in each case, number of threads is set to 1. From trace file:

Number of threads for Graph 002CFA38 is set to 1

I created my own graph node, derived from Node_1_1. I set "canOMP = 1;" in the constructor.
Whenever I read "Control::GetMaxNumThread()" I get 1.
If I try to, for example,
"Control::SetNumThread(4);" I get "idmOMPError" error.
If I put a break-point in the "Do" function, I clearly see that the input image is broken into many bands. So they could be executed in parallel, but they are not.

How can I get my graph to execute on more than one thread???

I am running with Core2 Duo CPU and 64-bit Vista.

Thanks.


Quoting - Vladimir Dudnik (Intel)

Hello,

thanks for your interest to DMIP. In the current version DMIP do not support operations which change image dimensions. We plan to introduce that support for future version.

Could you please share with us what computational task you want to implement with DMIP (so will take into account needed functionality for future releases)? Do you have any other feedback on DMIP? We are interested in your thoughts on that kind of parallel programming framework.


Regards,
Vladimir

Goran_N
Beginner
83 Views

I think I may know the answer: I need to use a compiler that supports OpenMP. Is this right?
I am using MS Visual Studio 2009.

Quoting - Goran Negovetic


Igor_B_Intel1
Employee
83 Views

Hellow,
You don't need compiler with openMP support for DMIP using. There was multithreading issue in DMIP (using 1 core). This issue was fixed in 6.0 update 2. Please download it.

Cause DMIP now does not support changing image dimention as intermediate operation try to splite your graph on two graphs: before downsampling and after. Compile both and execute in corresponding order. For the second graph (as src data) you can use direct output from first one (dst data).

Igor
Goran_N
Beginner
83 Views

Great, Update 2 did it! Thanks.

Quoting - Igor Belyakov (Intel)
Hellow,
You don't need compiler with openMP support for DMIP using. There was multithreading issue in DMIP (using 1 core). This issue was fixed in 6.0 update 2. Please download it.

Cause DMIP now does not support changing image dimention as intermediate operation try to splite your graph on two graphs: before downsampling and after. Compile both and execute in corresponding order. For the second graph (as src data) you can use direct output from first one (dst data).

Igor

Reply