[Beignet] [PATCH 0/2] Rebase "double float patchset" and modify the test case.

Xing, Homer homer.xing at intel.com
Tue Jun 18 21:44:13 PDT 2013


Hi Zhigang,

Yes. The predication handling may not be correct, and it makes test cases fail.

I have sent out version 6. Hope you've received them. When I set OCL_SIMD_WIDTH to 8, all test cases passed. Set to 16, also all passed.

In fact I turned off QuarterControl in version 6. Is someone willing to write another patch to add predication handling onto my patches?

Homer

-----Original Message-----
From: Zhigang Gong [mailto:zhigang.gong at linux.intel.com] 
Sent: Tuesday, June 18, 2013 5:11 PM
To: Xing, Homer
Cc: beignet at lists.freedesktop.org; Zhigang Gong
Subject: [PATCH 0/2] Rebase "double float patchset" and modify the test case.

Hi Homer,

I took a quick look at the v5 patch, and it looks much better now.
But I don't think the predication handling is correct. As Rong already submitted a fence patch which conflict with your original one, I rebased your original patch on top of the HEAD and also modify your test case to add one branch into it. To avoid duplicate work, I send the modified patchset to you.
You can define the FLOAT to float to check the case : it can pass with float type, but it fails with double type.

Another problem is that when I set OCL_SIMD_WIDTH to 8, it fails with your original test case.

One suggestion is that you may split this large patchset to smaller ones.
Some patches which are helper functions and really harmless can be merged earlier. Only the last patch to enable double support need to pass all the new test cases for double support including at least one case has branching.


Homer Hsing (2):
  Support 64-bit float
  test case for 64-bit float

 backend/src/backend/gen_context.cpp                |  17 +++
 backend/src/backend/gen_context.hpp                |   2 +
 backend/src/backend/gen_defs.hpp                   |   2 +
 backend/src/backend/gen_encoder.cpp                | 159 ++++++++++++++++++++-
 backend/src/backend/gen_encoder.hpp                |   6 +
 .../src/backend/gen_insn_gen7_schedule_info.hxx    |   2 +
 backend/src/backend/gen_insn_selection.cpp         | 148 +++++++++++++++++--
 backend/src/backend/gen_insn_selection.hxx         |   4 +
 backend/src/backend/gen_reg_allocation.cpp         |   1 -
 backend/src/backend/gen_register.hpp               |  90 +++++++++++-
 kernels/compiler_double.cl                         |  10 ++
 kernels/compiler_double_2.cl                       |   6 +
 utests/CMakeLists.txt                              |   2 +
 utests/compiler_double.cpp                         |  51 +++++++
 utests/compiler_double_2.cpp                       |  47 ++++++
 15 files changed, 530 insertions(+), 17 deletions(-)  create mode 100644 kernels/compiler_double.cl  create mode 100644 kernels/compiler_double_2.cl  create mode 100644 utests/compiler_double.cpp  create mode 100644 utests/compiler_double_2.cpp

--
1.7.11.7



More information about the Beignet mailing list