(1): In a CUDA application I'm translating there are two kernels, called directly one after the other. The output from the first kernel is the input to the second kernel.
Is it possible to do the same in CAL? i.e. without copying the output from the first kernel to the host and then back to the card again as the input to the second?
(2): I'm trying to create this resource:
r = calResAllocRemote1D(&textRes, &device, 1, 131072, CAL_FORMAT_INT_1, 0);
calAssert(r, "There has been an error allocating resource textRes.");
First thing to notice is that its greater than 8192 wide, but I thought this was possible in some way? Currently I'm getting an error allocating the resource.
TIA
1) Good question.
2) I think you might be thinking of Brook+, I'm not sure that CAL has address virtualization/translation.
1) Yes, it can be done. All cal resources are persistent across kernel calls.
2) CAL has a limit of max 1D size of 8192. Of course, you can allocate 2D resources of 8192 x 8192 if you need bigger dimensions. Brook+ does address virtualization and allows you to allocate 1D streams with dimension > 8192.
Originally posted by: gaurav.garg 1) Yes, it can be done. All cal resources are persistent across kernel calls.
Can you provide a sample or give us an example? Do you have to remap the resource each time between kernel calls?
Ryta,
NLM_Denoise in the CAL SDK does this. It has two kernels and each kernel shares inputs and the output of the first kernel is also input to the second.
Originally posted by: MicahVillmow Ryta,
NLM_Denoise in the CAL SDK does this. It has two kernels and each kernel shares inputs and the output of the first kernel is also input to the second.
Micah,
Is there an example that uses ISA instead of IL, I havent been able to find one?
Ryta,
We do not have any ISA samples as this is not a path that we recommend users take when creating programs.
Micah
Originally posted by: MicahVillmow Ryta,
We do not have any ISA samples as this is not a path that we recommend users take when creating programs.
Micah
Micah,
Yes, I understand it's not "recommended" but since the SCUG talks about it and it is possible, it would be great to see an example. Is this possible or not?
See my other thread title CAL and ISA question. I have ISA kernels that won't compile due to parser errors, I would just like to first eliminate the whole "" or \n problem or whatever, thanks.