iGPU beta app validation issue

Richard Haselgrove
Richard Haselgrove
Joined: 10 Dec 05
Posts: 2143
Credit: 2980940654
RAC: 756992

Lucky I kept my emails, then

Lucky I kept my emails, then :P

r3541:

Modified: branches/sah_v7_opt/AKv8/client/win_build/AKv8_v9.vcproj
===================================================================
--- branches/sah_v7_opt/AKv8/client/win_build/AKv8_v9.vcproj 2016-10-16 17:42:20 UTC (rev 3540)
+++ branches/sah_v7_opt/AKv8/client/win_build/AKv8_v9.vcproj 2016-10-16 18:46:34 UTC (rev 3541)
@@ -2792,7 +2792,7 @@
  <Tool
  Name="VCLinkerTool"
  AdditionalDependencies="Winmm.lib commode.obj libfftw3f-3-3-4_x86.lib OpenCL.lib setiboincdb_x86_r3215.lib MB8lib_win_x86_SSE_r3207.lib libboinc_staticcrt_f0c39bd.lib libboincapi_staticcrt_f0c39bd.lib libboincopencl_staticcrt_f0c39bd.lib"
- OutputFile="$(OutDir)\MB8_win_x86_SSSE3_OpenCL_Intel_fft_mad_on_contract_default_unsafe.exe"
+ OutputFile="$(OutDir)\MB8_win_x86_SSSE3_OpenCL_Intel.exe"
  LinkIncremental="1"
  SuppressStartupBanner="true"
  AdditionalLibraryDirectories=""..\..\..\lib\$(PlatformName)";$(LIB);$(INTELOCLSDKROOT)/lib/x86"

r3540:

Modified: branches/sah_v7_opt/AKv8/client/MultiBeam_Kernels.cl
===================================================================
--- branches/sah_v7_opt/AKv8/client/MultiBeam_Kernels.cl 2016-10-15 22:17:24 UTC (rev 3539)
+++ branches/sah_v7_opt/AKv8/client/MultiBeam_Kernels.cl 2016-10-16 17:42:20 UTC (rev 3540)
@@ -4,9 +4,9 @@
 //#if USE_OPENCL_NV || USE_OPENCL_HD5xxx || USE_OPENCL_INTEL
 // #define OCL_REAL_LOCAL 1
 //#endif
-#ifdef USE_OPENCL_INTEL
-  #pragma OPENCL FP_CONTRACT OFF
-#endif
+#ifdef USE_OPENCL_INTEL
+  #pragma OPENCL FP_CONTRACT OFF
+#endif
 
 #define GAUSSIAN_POT_LENGTH 64
 typedef struct {

Modified: branches/sah_v7_opt/AKv8/client/win_build/AKv8_v9.vcproj
===================================================================
--- branches/sah_v7_opt/AKv8/client/win_build/AKv8_v9.vcproj 2016-10-15 22:17:24 UTC (rev 3539)
+++ branches/sah_v7_opt/AKv8/client/win_build/AKv8_v9.vcproj 2016-10-16 17:42:20 UTC (rev 3540)
@@ -2792,7 +2792,7 @@
  <Tool
  Name="VCLinkerTool"
  AdditionalDependencies="Winmm.lib commode.obj libfftw3f-3-3-4_x86.lib OpenCL.lib setiboincdb_x86_r3215.lib MB8lib_win_x86_SSE_r3207.lib libboinc_staticcrt_f0c39bd.lib libboincapi_staticcrt_f0c39bd.lib libboincopencl_staticcrt_f0c39bd.lib"
- OutputFile="$(OutDir)\MB8_win_x86_SSSE3_OpenCL_Intel.exe"
+ OutputFile="$(OutDir)\MB8_win_x86_SSSE3_OpenCL_Intel_fft_mad_on_contract_default_unsafe.exe"
  LinkIncremental="1"
  SuppressStartupBanner="true"
  AdditionalLibraryDirectories=""..\..\..\lib\$(PlatformName)";$(LIB);$(INTELOCLSDKROOT)/lib/x86"

Modified: branches/sah_v7_opt/src/OpenCL_FFT/fft_base_kernels.h
===================================================================
--- branches/sah_v7_opt/src/OpenCL_FFT/fft_base_kernels.h 2016-10-15 22:17:24 UTC (rev 3539)
+++ branches/sah_v7_opt/src/OpenCL_FFT/fft_base_kernels.h 2016-10-16 17:42:20 UTC (rev 3540)
@@ -92,9 +92,9 @@
                           "#ifndef M_PI\n"
    "#define M_PI 0x1.921fb54442d18p+1\n"
    "#endif\n"
-#ifdef USE_OPENCL_INTEL
-   "#pragma OPENCL FP_CONTRACT OFF\n"
-#endif
+//#ifdef USE_OPENCL_INTEL
+//   "#pragma OPENCL FP_CONTRACT OFF\n"
+//#endif
 
 #if USE_OPENCL_NV
    "float2 complexMul(float2 a,float2 b) { return (float2)(mad(-(a).y, (b).y, (a).x * (b).x), mad((a).y, (b).x, (a).x * (b).y));}\n"

Modified: branches/sah_v7_opt/src/OpenCL_FFT/fft_setup.cpp
===================================================================
--- branches/sah_v7_opt/src/OpenCL_FFT/fft_setup.cpp 2016-10-15 22:17:24 UTC (rev 3539)
+++ branches/sah_v7_opt/src/OpenCL_FFT/fft_setup.cpp 2016-10-16 17:42:20 UTC (rev 3540)
@@ -624,7 +624,7 @@
  fprintf(stderr,"INFO: Loading binary into device failed (%d,%d); will compile from sources...\n",err,binret);
  free((void*)binary);
 #if USE_OPENCL_INTEL
- err = clBuildProgram(plan->program , 1, &device_id, "", NULL, NULL);
+ err = clBuildProgram(plan->program , 1, &device_id, "-cl-mad-enable", NULL, NULL);
 #else
  err = clBuildProgram(plan->program , 1, &device_id, "-cl-mad-enable", NULL, NULL);
 #endif
@@ -673,7 +673,7 @@
 #if ( __APPLE__ && USE_OPENCL && USE_OPENCL_NV )
             err = clBuildProgram(plan->program, 1, &device_id/*devices[i]*/, "-cl-mad-enable", NULL, NULL);
 #elif USE_OPENCL_INTEL
-            err = clBuildProgram(plan->program, 1, &device_id/*devices[i]*/, "-w", NULL, NULL);
+            err = clBuildProgram(plan->program, 1, &device_id/*devices[i]*/, "-w -cl-mad-enable", NULL, NULL);
 #else
             err = clBuildProgram(plan->program, 1, &device_id/*devices[i]*/, "-cl-mad-enable -w", NULL, NULL);
 #endif

r3539:

Log:
OpenCL MB:
- numerous changes in GPU_TWINCHIRP (in progress)
- possible fix for iGPU build on Skylake (FP_CONTRACT disable (thanks to Juha(http://setiathome.berkeley.edu/show_user.php?userid=1019453) for hint); -cl_mad_enable removed )

Let me know if you want all those previous attempts.

Raistmer*
Raistmer*
Joined: 20 Feb 05
Posts: 208
Credit: 181635088
RAC: 7442

And Eric gave link to new

And Eric gave link to new location of SETI sources.

But not so easy to find needed commit there.

So lets look on this change log.

Those times E@h used same OpenCL-based FFT library as we used. If it's still the case these changes can be implemented directly.

 

Seems oclFFT can be build with 

 -cl-mad-enable

option (here build call: 

err = clBuildProgram(plan->program, 1, &device_id/*devices[i]*/, "-cl-mad-enable -w", NULL, NULL);

)

but this build flag, FP_CONTRACT, should be switched off (we disabled it through whole app, in my kernels too, not only in oclFFt)

And in oclFFT it can be added here:

OpenCL_FFT/fft_base_kernels.h

#pragma OPENCL FP_CONTRACT OFF\n

 

That's what that log says.

EDIT: commit comment says -cl-mad-enable removed but log contains that lines as+, not as -.

Well, initially there was no this flag so perhaps worth to try w/o it.

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.