beignet-1.3.2-update-docs.patch 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. Description: Update documentation
  2. Reflect #767148 fix, high precision now being default, and releases.
  3. Clarify what hardware is supported.
  4. Add Debian specific information; recommend the Debian BTS rather than
  5. mostly-inactive upstream contact points.
  6. Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
  7. Forwarded: partially, most recently https://lists.freedesktop.org/archives/beignet/2019-January/009225.html
  8. --- a/src/cl_device_id.c
  9. +++ b/src/cl_device_id.c
  10. @@ -907,7 +907,7 @@ cl_self_test(cl_device_id device, cl_sel
  11. } else {
  12. ret = SELF_TEST_SLM_FAIL;
  13. printf("Beignet: self-test failed: (3, 7, 5) + (5, 7, 3) returned (%i, %i, %i)\n"
  14. - "See README.md or http://www.freedesktop.org/wiki/Software/Beignet/\n",
  15. + "This can usually be fixed by upgrading Linux to >= 4.2,\nsee /usr/share/doc/beignet-dev/Beignet.html or https://www.freedesktop.org/wiki/Software/Beignet/\n",
  16. test_data[0], test_data[1], test_data[2]);
  17. }
  18. --- a/docs/Beignet/Backend.mdwn
  19. +++ b/docs/Beignet/Backend.mdwn
  20. @@ -37,9 +37,7 @@ Environment variables are used all over
  21. precision math instructions compliant with OpenCL Spec. So we provide a
  22. software version to meet the high precision requirement. Obviously the
  23. software version's performance is not as good as native version supported by
  24. - GEN hardware. What's more, most graphics application don't need this high
  25. - precision, so we choose 0 as the default value. So OpenCL apps do not suffer
  26. - the performance penalty for using high precision math functions.
  27. + GEN hardware.
  28. - `OCL_SIMD_WIDTH` `(8 or 16)`. Select the number of lanes per hardware thread,
  29. Normally, you don't need to set it, we will select suitable simd width for
  30. --- /dev/null
  31. +++ b/docs/index.mdwn
  32. @@ -0,0 +1 @@
  33. +[[!map pages="* and !ikiwiki/*" show=title]]
  34. --- a/docs/Beignet.mdwn
  35. +++ b/docs/Beignet.mdwn
  36. @@ -16,6 +16,8 @@ News
  37. Prerequisite
  38. ------------
  39. +(for building the upstream source; Debian packages handle this automatically)
  40. +
  41. The project depends on the following external libraries:
  42. - libdrm libraries (libdrm and libdrm\_intel)
  43. @@ -84,7 +86,7 @@ you need to configure it as below:
  44. CMake will check the dependencies and will complain if it does not find them.
  45. -`> make`
  46. +`> make utest`
  47. The cmake will build the backend firstly. Please refer to:
  48. [[OpenCL Gen Backend|Beignet/Backend]] to get more dependencies.
  49. @@ -123,25 +125,17 @@ platform. Beignet also produces various
  50. consistency. This small test framework uses a simple c++ registration system to
  51. register all the unit tests.
  52. -You need to call setenv.sh in the utests/ directory to set some environment variables
  53. -firstly as below:
  54. -
  55. -`> . setenv.sh`
  56. +In Debian beignet, the testing tool is in the _beignet-dev_ package, and is run with:
  57. -Then in `utests/`:
  58. +`> /usr/lib/\`dpkg-architecture -qDEB_HOST_MULTIARCH\`/beignet/utest_run`
  59. -`> ./utest_run`
  60. +(this name and path may change in future releases - please do not rely on it). It will test the first OpenCL GPU device it finds (which does _not_ have to be a Beignet device). If you want to test a different device, uninstall all other ICDs. To see more options, pass `-h`.
  61. -will run all the unit tests one after the others
  62. +If you compiled Beignet yourself, you will find this tool in `utests`, and will need to set some environment variables to use it (see `setenv.sh`).
  63. -`> ./utest_run some_unit_test`
  64. -
  65. -will only run `some_unit_test` test.
  66. On all supported target platform, the pass rate should be 100%. If it is not, you may
  67. -need to refer the "Known Issues" section. Please be noted, the `. setenv.sh` is only
  68. -required to run unit test cases. For all other OpenCL applications, don't execute that
  69. -command.
  70. +need to refer the "Known Issues" section.
  71. Normally, beignet needs to run under X server environment as normal user. If there isn't X server,
  72. beignet provides two alternative to run:
  73. @@ -151,14 +145,22 @@ beignet provides two alternative to run:
  74. Supported Targets
  75. -----------------
  76. +Beignet aims to support Gen7 to Gen9 Intel HD (not PowerVR) integrated GPUs, i.e:
  77. +
  78. * 3rd Generation Intel Core Processors "Ivybridge".
  79. * 3rd Generation Intel Atom Processors "BayTrail".
  80. * 4th Generation Intel Core Processors "Haswell", need kernel patch if your linux kernel older than 4.2, see the "Known Issues" section.
  81. * 5th Generation Intel Core Processors "Broadwell".
  82. * 5th Generation Intel Atom Processors "Braswell".
  83. - * 6th Generation Intel Core Processors "Skylake" and "Kabylake".
  84. + * 6th Generation Intel Core Processors "Skylake", "Kabylake" and "Coffeelake".
  85. * 5th Generation Intel Atom Processors "Broxten" or "Apollolake".
  86. +As Beignet is being replaced by [Intel Compute Runtime (Neo)](https://01.org/compute-runtime) (likely to use the Debian package name intel-opencl-icd), future GPU models will probably _not_ be supported in Beignet.
  87. +
  88. +Not all processor models have an integrated GPU (Beignet does _not_ support running OpenCL on the CPU itself - see [pocl-opencl-icd](https://packages.debian.org/search?keywords=pocl-opencl-icd&searchon=names&exact=1&suite=all&section=all) for that). Systems that also have a discrete GPU may disable the integrated GPU: check _xrandr --listproviders_ or see [here](https://nouveau.freedesktop.org/wiki/Optimus/).
  89. +
  90. +Attempting to run Beignet on unsupported hardware should return CL_DEVICE_NOT_FOUND; if it does anything else (especially crashing) please [report a bug](#howtocontribute).
  91. +
  92. OpenCL 2.0
  93. ----------
  94. From release v1.3.0, beignet supports OpenCL 2.0 on Skylake and later hardware.
  95. @@ -188,7 +190,7 @@ Known Issues
  96. forever until a reboot.
  97. * "Beignet: self-test failed" and almost all unit tests fail.
  98. - Linux 3.15 and 3.16 (commits [f0a346b](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=f0a346bdafaf6fc4a51df9ddf1548fd888f860d8)
  99. + Linux 3.15 and upstream 3.16 (_not_ Debian jessie 3.16; commits [f0a346b](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=f0a346bdafaf6fc4a51df9ddf1548fd888f860d8)
  100. to [c9224fa](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c9224faa59c3071ecfa2d4b24592f4eb61e57069))
  101. enable the register whitelist by default but miss some registers needed
  102. for Beignet.
  103. @@ -224,10 +226,15 @@ Known Issues
  104. This extension is partially implemented(the most commonly used part), and we will implement
  105. other parts based on requirement.
  106. +* Programs using Intel-specific extensions fail to compile.
  107. +
  108. + Debian opencl-c-headers is the standard (Khronos) headers, which splits some of these into separate files
  109. + (e.g. cl\_ext\_intel.h): search /usr/include/CL. cl\_intel.h is in the beignet-dev package.
  110. +
  111. Project repository
  112. ------------------
  113. Right now, we host our project on fdo at:
  114. -[http://cgit.freedesktop.org/beignet/](http://cgit.freedesktop.org/beignet/).
  115. +[https://gitlab.freedesktop.org/beignet/beignet](https://gitlab.freedesktop.org/beignet/beignet).
  116. And the Intel 01.org:
  117. [https://01.org/beignet](https://01.org/beignet)
  118. @@ -263,15 +265,11 @@
  119. How to contribute
  120. -----------------
  121. -You are always welcome to contribute to this project, just need to subscribe
  122. -to the beignet mail list and send patches to it for review.
  123. -The official mail list is as below:
  124. -[http://lists.freedesktop.org/mailman/listinfo/beignet](http://lists.freedesktop.org/mailman/listinfo/beignet)
  125. -The official bugzilla is at:
  126. -[https://bugs.freedesktop.org/enter_bug.cgi?product=Beignet](https://bugs.freedesktop.org/enter_bug.cgi?product=Beignet)
  127. -You are welcome to submit beignet bug. Please be noted, please specify the exact platform
  128. -information, such as BYT/IVB/HSW/BDW, and GT1/GT2/GT3. You can easily get this information
  129. -by running the beignet's unit test.
  130. +Please [report bugs to Debian](https://www.debian.org/Bugs/Reporting) package beignet-opencl-icd.
  131. +
  132. +Please specify your hardware when reporting a bug: _reportbug beignet-opencl-icd_ will automatically include this information.
  133. +
  134. +The upstream [email list](http://lists.freedesktop.org/mailman/listinfo/beignet) and [bug tracker](https://gitlab.freedesktop.org/beignet/beignet/issues) are still available, but as upstream is mostly inactive, it may be some time before they respond.
  135. Documents for OpenCL application developers
  136. -------------------------------------------