- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I 'm currently trying to deploy Intel OpenCL on the GPU of my Intel(R) Xeon(R) CPU E3-1505M v5 @ 2.80GHz on Centos 7.1. My configuration is :
- intel_sdk_for_opencl_2016_6.3.0.1904_x64.tgz
- driver r3.1.58620
- eclipse Oxygen, jre-8u111-linux-x64, mono-4.0.1-4.x86_64
I'm following the Code Builder tutorial. Every thing works fine until this step : https://software.intel.com/en-us/node/671857
When I try to launch the kernel, I have an error message telling me that the buffers are not assigned:
execution analysis error: No variable assigned to kernel argument #0 (ptrInput)
So I go to the OpenCL Kernel Analysis Input view and the configuration as well as the assigned variables are all in grey. I cannot click on the configuration and the kernel variables fields are empty.
Can you please help me ?
Regards,
Mathieu
Here are the buffers I have declared :
<!-- Kernel Builder Variables Database -->
<KernelBuilderBuffers>
<BufferDetails>
<Name>ptrInput</Name>
<DataType>uchar</DataType>
<MemoryFlags>CL_MEM_READ_WRITE</MemoryFlags>
<AccessQualifier>READ_ONLY</AccessQualifier>
<I_O_Mode>0</I_O_Mode>
<Source>/home/user/STI/THOREL/workspace_eclipse/Code Builder Sessions/session_0/bin_ptrInput.bin</Source>
<ReadOutput>true</ReadOutput>
<BufferSize>262144</BufferSize>
<InitByRandom>false</InitByRandom>
<InitByZero>true</InitByZero>
<UseAsSVM>false</UseAsSVM>
</BufferDetails>
<BufferDetails>
<Name>ptrOutput</Name>
<DataType>uchar</DataType>
<MemoryFlags>CL_MEM_READ_WRITE</MemoryFlags>
<AccessQualifier>READ_ONLY</AccessQualifier>
<I_O_Mode>1</I_O_Mode>
<Source></Source>
<ReadOutput>true</ReadOutput>
<BufferSize>262144</BufferSize>
<InitByRandom>false</InitByRandom>
<InitByZero>false</InitByZero>
<UseAsSVM>false</UseAsSVM>
</BufferDetails>
</KernelBuilderBuffers>
<KernelBuilderImages/>
<KernelBuilderSamplers/>
The kernel is :
#define FILTER_WIDTH ( 11 )
#define FILTER_SIZE ( FILTER_WIDTH * FILTER_WIDTH )
#define FILTER_INF ( 5 ) // Need to be calculated -> floor( FILTER_WIDTH / 2 )
__kernel void convolve_no_local( const __global unsigned char * restrict ptrInput,
__global unsigned char * restrict ptrOutput,
const int iWidth,
const int iHeight )
{
// Must be normalized
const int arrFilter[ FILTER_SIZE ] = { -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 0,
-2, -2, -2, -2, -2, -2, -2, -2, -2, 0, 2,
-2, -2, -2, -2, -2, -2, -2, -2, 0, 2, 2,
-2, -2, -2, -2, -2, -2, -2, 0, 2, 2, 2,
-2, -2, -2, -2, -2, -2, 0, 2, 2, 2, 2,
-2, -2, -2, -2, -2, 0, 2, 2, 2, 2, 2,
-2, -2, -2, -2, 0, 2, 2, 2, 2, 2, 2,
-2, -2, -2, 0, 2, 2, 2, 2, 2, 2, 2,
-2, -2, 0, 2, 2, 2, 2, 2, 2, 2, 2,
-2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 };
const int iWorkGlobalX = get_global_id( 0 );
const int iWorkGlobalY = get_global_id( 1 );
if( iWorkGlobalX >= FILTER_INF && iWorkGlobalX < iWidth - FILTER_INF &&
iWorkGlobalY >= FILTER_INF && iWorkGlobalY < iHeight - FILTER_INF )
{
const int iInputX = ( iWorkGlobalX - FILTER_INF );
const int iInputY = ( iWorkGlobalY - FILTER_INF );
int iInput;
int iValue = 0;
#ifdef __UNROLL_3x3__
iInput = iInputX + iInputY * iWidth;
iValue = iValue + ( arrFilter[ 0 ] * convert_int( ptrInput[ iInput ] ));
iValue = iValue + ( arrFilter[ 1 ] * convert_int( ptrInput[ iInput + 1 ] ));
iValue = iValue + ( arrFilter[ 2 ] * convert_int( ptrInput[ iInput + 2 ] ));
iInput = iInput + iWidth;
iValue = iValue + ( arrFilter[ 3 ] * convert_int( ptrInput[ iInput ] ));
iValue = iValue + ( arrFilter[ 4 ] * convert_int( ptrInput[ iInput + 1 ] ));
iValue = iValue + ( arrFilter[ 5 ] * convert_int( ptrInput[ iInput + 2 ] ));
iInput = iInput + iWidth;
iValue = iValue + ( arrFilter[ 6 ] * convert_int( ptrInput[ iInput ] ));
iValue = iValue + ( arrFilter[ 7 ] * convert_int( ptrInput[ iInput + 1 ] ));
iValue = iValue + ( arrFilter[ 8 ] * convert_int( ptrInput[ iInput + 2 ] ));
#else
int iRow;
int iCol;
int iFilter = 0;
for( iRow = 0 ; iRow < FILTER_WIDTH ; iRow++ )
{
iInput = iInputX + ( iInputY + iRow ) * iWidth;
for( iCol = 0 ; iCol < FILTER_WIDTH ; iCol++ )
{
iValue = iValue + ( arrFilter[ iFilter ] * convert_int( ptrInput[ iInput ] ));
iInput++;
iFilter++;
}
}
#endif
ptrOutput[ iWorkGlobalX + iWorkGlobalY * iWidth ] = convert_uchar_sat( iValue );
}
}
Here are the view screeshots :
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The only Eclipse versions supported right now are Mars and Luna. (See https://software.intel.com/en-us/intel-opencl). ; According to Eclipse, Oxygen is not due to be released until June 2017. Is there any chance you could try one of these earlier supported versions of Eclipse?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The only Eclipse versions supported right now are Mars and Luna. (See https://software.intel.com/en-us/intel-opencl). ; According to Eclipse, Oxygen is not due to be released until June 2017. Is there any chance you could try one of these earlier supported versions of Eclipse?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
As you mentioned I installed Eclipse Mars.2 and it works even if sometimes the OpenCL Kernel Analysis Input view crash. Thank you Jeffrey.
I can now select the buffers and launch the kernel. However, the firefox (version 51 and 38) html report page is empty. An error message is displayed: "Error: can not find main menu data". So I manually opened the main.js file where it comes from ans it appears that the file '/data/mainMenu.ajax' is missing.
I think it should be generated during the execution. You will find attach to this message the output of the execution : 20161220111137.zip
Can you please help me with this
Regards,
Mathieu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've been able to reproduce similar behavior. A bug has been filed. Thanks for your helpful input on this.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page