[Beignet] [PATCH 0/5] Add support for kernel debugging

He Junyan junyan.he at inbox.com
Wed Jul 13 08:47:01 UTC 2016


Hi Mircea,
Thanks a lot for you contribution.
I have several questions here.
According to my understanding, your debug feature strongly depends on
the libigfxdbgxchg64.so lib, which I think is a binary and I can not
find it in your patchset. I notice you get a SIP of some system routine
and allocate a buffer object to copy that system routine. How can user
control the execution of GPU program is unknown in this patchset. So
is it possible to open the source code of libigfxdbgxchg64.so.  Or at
least can you provide that lib and give a document about how to use it?

Thanks


On Fri, Jul 08, 2016 at 02:39:34PM +0200, Mircea Gherzan wrote:
> Date: Fri,  8 Jul 2016 14:39:34 +0200
> From: Mircea Gherzan <mircea.gherzan at intel.com>
> To: beignet at lists.freedesktop.org
> Cc: Mircea Gherzan <mircea.gherzan at intel.com>, fabian.schnell at intel.com
> Subject: [Beignet] [PATCH 0/5] Add support for kernel debugging
> X-Mailer: git-send-email 1.7.0.7
> 
> This patch series enables debugging OpenCL Beignet shaders with the GDB port
> for Intel(R) GPUs.
> 	
> Enabling debugging in the Beignet codebase involves:
> * checking if the debugger is present
> * setting a breakpoint on the first instruction of a kernel,
> * getting the "debug system routine" that dumps the content of the EU registers
>   to a "debug surface" once a breakpoint is encountered in the shader,
> * setting up the BOs for the system routine and for the debug surface,
> * writing the right MMIO registers (via batch buffer commands) in order
>   to enable the shader debug in the hardware.
> * notifying the debugger infrastructure that a certain kernel is under debug,
>   in order to prevent the "Debug Companion Driver" from auto-resuming
>   the kernel.
> 
> The interaction with the debugger is done via the debugger interchange library.
> This library as well as other debugger open-source components (the kernel driver,
> libraries, GDB) are delivered in the Intel(R) Parallel Studio XE.
> 
> Tested on HSW, BDW and SKL.
> 
> Mircea Gherzan (5):
>   backend: add support for kernel debugging
>   runtime: add support for the interchange library of the debugger
>   runtime: use the "-debug" build option if the debugger is active
>   runtime: set the kernel name in the cl_gpgpu_kernel structure
>   runtime: support for the debug system routine, surface and MMIO
>     registers
> 
>  backend/src/backend/context.cpp     |   4 +-
>  backend/src/backend/context.hpp     |   4 +-
>  backend/src/backend/gen_context.cpp |  12 ++-
>  backend/src/backend/gen_context.hpp |   2 +-
>  backend/src/backend/gen_program.cpp |   7 +-
>  backend/src/backend/gen_program.hpp |   8 +-
>  backend/src/backend/program.cpp     |   5 +-
>  src/CMakeLists.txt                  |   1 +
>  src/cl_command_queue_gen7.c         |   6 +-
>  src/cl_context.c                    |   4 +
>  src/cl_context.h                    |   2 +
>  src/cl_driver.h                     |   4 +
>  src/cl_driver_defs.c                |   2 +-
>  src/cl_program.c                    |  40 ++++++++
>  src/intel/intel_debugger.c          | 158 +++++++++++++++++++++++++++++
>  src/intel/intel_debugger.h          |  70 +++++++++++++
>  src/intel/intel_defines.h           |  11 +++
>  src/intel/intel_gpgpu.c             | 192 ++++++++++++++++++++++++++++++++++--
>  src/intel/intel_gpgpu.h             |   7 ++
>  19 files changed, 516 insertions(+), 23 deletions(-)
>  create mode 100644 src/intel/intel_debugger.c
>  create mode 100644 src/intel/intel_debugger.h
> 
> -- 
> 1.8.3.1
> 
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/beignet

____________________________________________________________
Can't remember your password? Do you need a strong and secure password?
Use Password manager! It stores your passwords & protects your account.
Check it out at http://mysecurelogon.com/manager




More information about the Beignet mailing list