Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: native_client_sdk/src/doc/faq.rst

Issue 250433002: PNaCl documentation: add SIMD vectors. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address dschuff's comments. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 ########################## 1 ##########################
2 Frequently Asked Questions 2 Frequently Asked Questions
3 ########################## 3 ##########################
4 4
5 .. contents:: 5 .. contents::
6 :local: 6 :local:
7 :backlinks: none 7 :backlinks: none
8 :depth: 2 8 :depth: 2
9 9
10 This document answers some frequently asked questions about Native 10 This document answers some frequently asked questions about Native
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 * **Portability:** Developers and users don't need to worry about 58 * **Portability:** Developers and users don't need to worry about
59 already-released applications not working on new hardware: PNaCl 59 already-released applications not working on new hardware: PNaCl
60 already supports all architectures NaCl does, and as PNaCl evolves it 60 already supports all architectures NaCl does, and as PNaCl evolves it
61 gains support for new processors and fully uses their capabilities. 61 gains support for new processors and fully uses their capabilities.
62 62
63 .. TODO Expand on the PNaCl performance section in another document, and 63 .. TODO Expand on the PNaCl performance section in another document, and
64 .. link to it here. How does one profile PNaCl code? What are common 64 .. link to it here. How does one profile PNaCl code? What are common
65 .. causes of slowness? How can code be made faster? What's the best way 65 .. causes of slowness? How can code be made faster? What's the best way
66 .. to use Pepper's asynchronous APIs? What do I need to know about 66 .. to use Pepper's asynchronous APIs? What do I need to know about
67 .. threads and inter-thread communications? Can I use SIMD or other 67 .. threads and inter-thread communications? Can I use SIMD or other
68 .. processor-specific instructions? What aboutt he GPU? 68 .. processor-specific instructions? What about the GPU?
69 69
70 For more details, refer to the :doc:`history behind and comparison of 70 For more details, refer to the :doc:`history behind and comparison of
71 NaCl and PNaCl <nacl-and-pnacl>`. 71 NaCl and PNaCl <nacl-and-pnacl>`.
72 72
73 When should I use Native Client? 73 When should I use Native Client?
74 -------------------------------- 74 --------------------------------
75 75
76 The following are some typical use cases. For details, see the 76 The following are some typical use cases. For details, see the
77 :doc:`Technical Overview <overview>`. 77 :doc:`Technical Overview <overview>`.
78 78
(...skipping 27 matching lines...) Expand all
106 | x86-64 | 25% | 106 | x86-64 | 25% |
107 +--------+-----+ 107 +--------+-----+
108 | ARM | 10% | 108 | ARM | 10% |
109 +--------+-----+ 109 +--------+-----+
110 110
111 Note that benchmark performance is sometimes bimodal, so different use 111 Note that benchmark performance is sometimes bimodal, so different use
112 cases are likely to achieve better or worse performance than the above 112 cases are likely to achieve better or worse performance than the above
113 averages. For example floating-point heavy code usually exhibits much 113 averages. For example floating-point heavy code usually exhibits much
114 lower overheads whereas very branch-heavy code often performs worse. 114 lower overheads whereas very branch-heavy code often performs worse.
115 115
116 Note that PNaCl supports performance features that are often used in
117 native code such as :ref:`threading <language_support_threading>` and
118 :ref:`Portable SIMD Vectors <portable_simd_vectors>`.
119
116 For details, see: 120 For details, see:
117 121
118 * `Adapting Software Fault Isolation to Contemporary CPU Architectures 122 * `Adapting Software Fault Isolation to Contemporary CPU Architectures
119 <https://nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pdf>`_ (PDF). 123 <https://nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pdf>`_ (PDF).
120 * `Native Client: A Sandbox for Portable, Untrusted x86 Code 124 * `Native Client: A Sandbox for Portable, Untrusted x86 Code
121 <http://research.google.com/pubs/pub34913.html>`_ (PDF). 125 <http://research.google.com/pubs/pub34913.html>`_ (PDF).
122 126
123 If your code isn't performing as close to native speed as you'd expect, 127 If your code isn't performing as close to native speed as you'd expect,
124 :doc:`let us know <help>`! 128 :doc:`let us know <help>`!
125 129
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 NPAPI is not supported by the Native Client SDK, and is `deprecated in 268 NPAPI is not supported by the Native Client SDK, and is `deprecated in
265 Chrome 269 Chrome
266 <http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html>`_ . 270 <http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html>`_ .
267 271
268 Does Native Client support SIMD vector instructions? 272 Does Native Client support SIMD vector instructions?
269 ---------------------------------------------------- 273 ----------------------------------------------------
270 274
271 Native Client currently supports SSE on x86 and NEON on ARM. Support for 275 Native Client currently supports SSE on x86 and NEON on ARM. Support for
272 AVX on x86 is under way. 276 AVX on x86 is under way.
273 277
274 Portable Native Client should support SIMD vectors in the near future. 278 Portable Native Client supports portable SIMD vectors, as detailed in
279 :ref:`Portable SIMD Vectors <portable_simd_vectors>`.
275 280
276 Can I use Native Client for 3D graphics? 281 Can I use Native Client for 3D graphics?
277 ---------------------------------------- 282 ----------------------------------------
278 283
279 Yes. Native Client supports `OpenGL ES 2.0 284 Yes. Native Client supports `OpenGL ES 2.0
280 <https://www.khronos.org/opengles/>`_. 285 <https://www.khronos.org/opengles/>`_.
281 286
282 To alert the user regarding their hardware platform's 3D feature set 287 To alert the user regarding their hardware platform's 3D feature set
283 before loading a large NaCl application, see :doc:`Vetting the driver in 288 before loading a large NaCl application, see :doc:`Vetting the driver in
284 Javascript <devguide/coding/3D-graphics>`. 289 Javascript <devguide/coding/3D-graphics>`.
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 you're loading the correct ``.nexe`` file by building a separate 567 you're loading the correct ``.nexe`` file by building a separate
563 ``.nexe`` for each architecture, and using a ``.nmf`` manifest file to 568 ``.nexe`` for each architecture, and using a ``.nmf`` manifest file to
564 let the browser select the correct ``.nexe`` file. Note: the need to 569 let the browser select the correct ``.nexe`` file. Note: the need to
565 select a processor-specific ``.nexe`` goes away with Portable Native 570 select a processor-specific ``.nexe`` goes away with Portable Native
566 Client. 571 Client.
567 * If things still aren't working, :doc:`ask for help <help>`! 572 * If things still aren't working, :doc:`ask for help <help>`!
568 573
569 .. _CORS: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing 574 .. _CORS: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing
570 .. _naclports: https://code.google.com/p/naclports 575 .. _naclports: https://code.google.com/p/naclports
571 .. _Crouton: https://github.com/dnschneid/crouton 576 .. _Crouton: https://github.com/dnschneid/crouton
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698