From: Junyan He <[email protected]>

The profiling support is enabled by this patch set.
The profiling information is as following:
-------------------------- Log 0 --------------------------
| fix functions id:   7     simd:   16   kernel id:    0  |
| thread id:          0     EU id:   1   half slice id: 0 |
| dispatch Mask:   1 prolog:       197  epilog:      6699 |
| globalX:   4~   4  globalY:   0~   0  globalZ:   0~   0 |
|  ts0 :        64  | ts1 :         0  | ts2 :       930  |
|  ts3 :         0  | ts4 :      1046  | ts5 :      1170  |
|  ts6 :         0  | ts7 :         0  | ts8 :         0  |
|  ts9 :      1624  | ts10:      1838  | ts11:         0  |
|  ts12:      2032  | ts13:         0  | ts14:      2312  |
|  ts15:      2560  | ts16:         0  | ts17:         0  |
|  ts18:         0  | ts19:      2972  |                  |

Each hw thread will create one such log items.
Prolog is the timestamp when we enter this kernel, while
epilog is the timestamp we finish and leave it.
ts0~ts19 reocord the time offsets from the prolog, but
the base is 0.
We now just record first 20 blocks' timestamp. Later after
we fully support SourceToBinary, we can set profiling point
at any location.

Signed-off-by: Junyan He <[email protected]>
Signed-off-by: Bai Yannan <[email protected]>
---
backend/src/CMakeLists.txt                         |    3 +
backend/src/backend/gen_context.cpp                |  379 ++++++++++++++++++++
backend/src/backend/gen_context.hpp                |    5 +
.../src/backend/gen_insn_gen7_schedule_info.hxx    |    2 +
backend/src/backend/gen_insn_selection.cpp         |  131 +++++++
backend/src/backend/gen_insn_selection.hpp         |    8 +
backend/src/backend/gen_insn_selection.hxx         |    2 +
backend/src/backend/gen_program.cpp                |    6 +-
backend/src/backend/gen_program.hpp                |    2 +-
backend/src/backend/gen_reg_allocation.cpp         |    2 +-
backend/src/backend/gen_register.hpp               |    9 +
backend/src/backend/program.cpp                    |   36 +-
backend/src/backend/program.h                      |   16 +
backend/src/backend/program.hpp                    |   25 +-
backend/src/gbe_bin_interpreter.cpp                |    4 +
backend/src/ir/instruction.cpp                     |   98 ++++-
backend/src/ir/instruction.hpp                     |   26 ++
backend/src/ir/instruction.hxx                     |    2 +
backend/src/ir/profile.cpp                         |   12 +-
backend/src/ir/profile.hpp                         |    7 +-
backend/src/ir/profiling.cpp                       |   70 ++++
backend/src/ir/profiling.hpp                       |  132 +++++++
backend/src/ir/unit.cpp                            |    5 +-
backend/src/ir/unit.hpp                            |    5 +
backend/src/llvm/llvm_gen_backend.cpp              |   45 +++
backend/src/llvm/llvm_gen_backend.hpp              |    3 +
backend/src/llvm/llvm_gen_ocl_function.hxx         |    5 +
backend/src/llvm/llvm_profiling.cpp                |  227 ++++++++++++
backend/src/llvm/llvm_to_gen.cpp                   |    5 +-
backend/src/llvm/llvm_to_gen.hpp                   |    3 +-
src/cl_command_queue.c                             |    8 +
src/cl_command_queue.h                             |    2 +
src/cl_command_queue_gen7.c                        |   37 ++
src/cl_driver.h                                    |   16 +
src/cl_driver_defs.c                               |    5 +
src/cl_gbe_loader.cpp                              |   15 +
src/cl_gbe_loader.h                                |    3 +
src/intel/intel_gpgpu.c                            |   54 +++
src/intel/intel_gpgpu.h                            |    3 +-
39 files changed, 1402 insertions(+), 16 deletions(-)
-- 
1.7.9.5

_______________________________________________
Beignet mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to