EVALUATING A FLOATING-POINT ACCURACY OF A COMPILER

Information

  • Patent Application
  • 20230297497
  • Publication Number
    20230297497
  • Date Filed
    March 31, 2021
    3 years ago
  • Date Published
    September 21, 2023
    a year ago
Abstract
A mechanism for evaluating a floating-point accuracy of a vehicle driving compatible compiler includes testing code compiled by a vehicle driving compatible compiler with code compiled by a testing environment compatible compiler, executing the vehicle driving compatible compiled code involves executing addition type floating points operations to provide a first floating point result, executing the testing environment compatible compiled code to perform addition type floating points operations to provide a second floating point result that corresponds to the first floating point result, comparing the first floating point result to the second floating point results to provide a comparison result, and determining the floating-point accuracy of vehicle driving compatible compiler based on the comparison result.
Description
Claims
  • 1. A system for evaluating a floating-point accuracy of a vehicle driving compatible compiler, comprising: processing circuitry; and memory to store instructions, which when executed by the processing circuitry, cause the processing circuitry to perform operations comprising: receiving or generating a first target language computer code and a second target language computer code, the first target language computer code generated by compiling a high-level language computer code by a vehicle driving compatible compiler, the second target language computer code generated by compiling the high-level language computer code by a testing environment compatible compiler, the high-level language computer code is free from programmer constraints regarding an order of execution of addition-type floating-point operations;executing the first target language computer code by one or more vehicle driving compatible processors, the executing of the first target language computer code involving executing addition type floating points operations to provide a first floating point result;executing the second target language computer code by one or more testing environment compatible processors that differ by architecture from the one or more vehicle driving compatible processors, the executing of the second target language computer code involving executing addition type floating points operations to provide a second floating point result that corresponds to the first floating point result;comparing the first floating point result to the second floating point results to provide a comparison result; anddetermining the floating-point accuracy of vehicle driving compatible compiler based on the comparison result.
  • 2. The system according to claim 1, wherein the memory comprises instructions for determining that the vehicle driving compatible compiler has an inadequate floating-point accuracy when the first floating points results differs from the first floating point results.
  • 3. The system according to claim 1, wherein the addition type floating points operations comprise addition floating point operations and multiplication floating point operations.
  • 4. The system according to claim 1, wherein the testing environment compatible compiler is independently developed from the vehicle driving compatible compiler.
  • 5. The system according to claim 1, wherein the one or more testing environment compatible processors are better fit to execute distributed processing than the one or more vehicle driving compatible processors.
  • 6. The system according to claim 1, wherein the one or more testing environment compatible processors are general purpose processors and wherein the one or more vehicle driving compatible processors are at least one of: autonomous driving hardware accelerators and driver assistant hardware accelerators.
  • 7. The system according to claim 1, wherein the evaluating of the floating point accuracy is preceded by (a) validating the high-level computer code using a testing environment that executes the second target language computer code, (b) following a successful validation, executing the first target language computer code by multiple vehicle driving compatible processors, and (c) finding a floating point failure of the second target language computer code.
  • 8. A method for evaluating a floating-point accuracy of a vehicle driving compatible compiler, the method comprising: receiving or generating a first target language computer code and a second target language computer code, the first target language computer code generated by compiling a high-level language computer code by a vehicle driving compatible compiler, the second target language computer code generated by compiling the high-level language computer code by a testing environment compatible compiler, the high-level language computer code is free from programmer constraints regarding an order of execution of addition-type floating-point operations;executing the first target language computer code by one or more vehicle driving compatible processors, the executing of the first target language computer code involving executing addition type floating points operations to provide a first floating point result; executing the second target language computer code by one or more testing environment compatible processors that differ by architecture from the one or more vehicle driving compatible processors, the executing of the second target language computer code involving executing addition type floating points operations to provide a second floating point result that corresponds to the first floating point result;comparing the first floating point result to the second floating point results to provide a comparison result; anddetermining the floating-point accuracy of vehicle driving compatible compiler based on the comparison result.
  • 9. The method according to claim 8, comprising determining that the vehicle driving compatible compiler has an inadequate floating-point accuracy when the first floating points results differs from the first floating point results.
  • 10. The method according to claim 8, wherein the addition type floating points operations comprise addition floating point operations and multiplication floating point operations.
  • 11. The method according to claim 8, wherein the testing environment compatible compiler is independently developed from the vehicle driving compatible compiler.
  • 12. The method according to claim 8, wherein the one or more testing environment compatible processors are better fit to execute distributed processing than the one or more vehicle driving compatible processors.
  • 13. The method according to claim 8, wherein the one or more testing environment compatible processors are general purpose processors and wherein the one or more vehicle driving compatible processors are at least one of: autonomous driving hardware accelerators and driver assistant hardware accelerators.
  • 14. The method according to claim 8, wherein the evaluating of the floating point accuracy is preceded by (a) validating the high-level computer code using a testing environment that executes the second target language computer code, (b) following a successful validation, executing the first target language computer code by multiple vehicle driving compatible processors, and (c) finding a floating point failure of the second target language computer code.
  • 15. A non-transitory computer readable medium including instructions for evaluating a floating-point accuracy of a vehicle driving compatible compiler, which when executed by processing circuitry, cause the processing circuitry to perform operations comprising: receiving or generating a first target language computer code and a second target language computer code, the first target language computer code generated by compiling a high-level language computer code by a vehicle driving compatible compiler, the second target language computer code generated by compiling the high-level language computer code by a testing environment compatible compiler, the high-level language computer code is free from programmer constraints regarding an order of execution of addition-type floating-point operations;executing the first target language computer code by one or more vehicle driving compatible processors, the executing of the first target language computer code involving executing addition type floating points operations to provide a first floating point result;executing the second target language computer code by one or more testing environment compatible processors that differ by architecture from the one or more vehicle driving compatible processors, the executing of the second target language computer code involving executing addition type floating points operations to provide a second floating point result that corresponds to the first floating point result;comparing the first floating point result to the second floating point results to provide a comparison result; anddetermining the floating-point accuracy of vehicle driving compatible compiler based on the comparison result.
  • 16. The non-transitory computer readable medium according to claim 15, comprising instructions for determining that the vehicle driving compatible compiler has an inadequate floating-point accuracy when the first floating points results differs from the first floating point results.
  • 17. The non-transitory computer readable medium according to claim 15, wherein the addition type floating points operations comprise addition floating point operations and multiplication floating point operations.
  • 18. The non-transitory computer readable medium according to claim 15, wherein the testing environment compatible compiler is independently developed from the vehicle driving compatible compiler.
  • 19. The non-transitory computer readable medium according to claim 15, wherein the one or more testing environment compatible processors are better fit to execute distributed processing than the one or more vehicle driving compatible processors.
  • 20. The non-transitory computer readable medium according to claim 15, wherein the one or more testing environment compatible processors are general purpose processors and wherein the one or more vehicle driving compatible processors are at least one of: autonomous driving hardware accelerators and driver assistant hardware accelerators.
  • 21. The non-transitory computer readable medium according to claim 15, wherein the evaluating of the floating point accuracy is preceded by (a) validating the high-level computer code using a testing environment that executes the second target language computer code, (b) following a successful validation, executing the first target language computer code by multiple vehicle driving compatible processors, and (c) finding a floating point failure of the second target language computer code.
  • 22. (canceled)
  • 23. (canceled)
PCT Information
Filing Document Filing Date Country Kind
PCT/IB2021/000236 3/31/2021 WO
Provisional Applications (1)
Number Date Country
63003500 Apr 2020 US