{"id":2419,"date":"2019-02-09T09:57:07","date_gmt":"2019-02-09T14:57:07","guid":{"rendered":"http:\/\/blog.hostdime.com.pe\/?p=2419"},"modified":"2019-02-14T11:25:41","modified_gmt":"2019-02-14T16:25:41","slug":"soporte-de-hardware-para-la-computacion-de-proposito-general-en-gpus","status":"publish","type":"post","link":"https:\/\/www.hostdime.com.pe\/blog\/soporte-de-hardware-para-la-computacion-de-proposito-general-en-gpus\/","title":{"rendered":"Soporte de Hardware para la Computaci\u00f3n de prop\u00f3sito general en GPUs"},"content":{"rendered":"<p style=\"text-align: justify;\">Soporte de Hardware para la Computaci\u00f3n de prop\u00f3sito general en GPUs. Las tarjetas de video de computadora son producidas por varios proveedores, como Nvidia , y AMD y ATI. Las tarjetas de dichos proveedores difieren en la implementaci\u00f3n del soporte de formato de datos, como los formatos de punto entero y flotante (32 bits y 64 bits).<!--more--><\/p>\n<p style=\"text-align: justify;\">Microsoft introdujo un est\u00e1ndar de Shader Model para ayudar a clasificar las diversas caracter\u00edsticas de las tarjetas gr\u00e1ficas en un n\u00famero de versi\u00f3n simple\u00a0 (1.0, 2.0, 3.0, etc.).<\/p>\n<div id=\"attachment_2447\" style=\"width: 610px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.hostdime.com.pe\/blog\/soporte-de-hardware-para-la-computacion-de-proposito-general-en-gpus\/pre-directx-9-bloghostdime\/\" rel=\"attachment wp-att-2447\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2447\" class=\"wp-image-2447\" src=\"https:\/\/www.hostdime.com.pe\/blog\/wp-content\/uploads\/2019\/02\/Pre-DirectX-9-BlogHostDime.png\" alt=\"Pre-DirectX-9-BlogHostDime\" width=\"600\" height=\"422\" \/><\/a><p id=\"caption-attachment-2447\" class=\"wp-caption-text\">Tomado de internet<\/p><\/div>\n<h2><span style=\"color: #ff6600;\">N\u00fameros enteros<\/span><\/h2>\n<div class=\"mceTemp\"><\/div>\n<p style=\"text-align: justify;\">Las tarjetas de video Pre-DirectX 9 solo son compatibles con tipos de color paleteado o enteros. Hay varios formatos disponibles, cada uno contiene un elemento rojo, un elemento verde y un elemento azul. A veces se agrega otro valor alfa, que se utiliza para la transparencia. Los formatos comunes son:<\/p>\n<ul>\n<li style=\"text-align: justify;\">8 bits por p\u00edxel: a veces el modo de paleta, donde cada valor es un \u00edndice en una tabla con el valor de color real especificado en uno de los otros formatos. A veces, tres bits para el rojo, tres bits para el verde y dos bits para el azul.<\/li>\n<li style=\"text-align: justify;\">16 bits por p\u00edxel: por lo general, los bits se asignan como cinco bits para el rojo, seis bits para el verde y cinco bits para el azul.<\/li>\n<li>24 bits por p\u00edxel: hay ocho bits para cada uno de rojo, verde y azul.<\/li>\n<li>32 bits por p\u00edxel: hay ocho bits para cada uno de rojo, verde, azul y alfa .<\/li>\n<\/ul>\n<h2><span style=\"color: #ff6600;\">N\u00fameros de punto flotante<\/span><\/h2>\n<p style=\"text-align: justify;\">Para los primeros gr\u00e1ficos de funci\u00f3n fija o de programaci\u00f3n limitada (es decir, hasta e incluyendo GPU compatibles con DirectX 8.1) esto fue suficiente porque esta es tambi\u00e9n la representaci\u00f3n utilizada en las pantallas. Es importante tener en cuenta que esta representaci\u00f3n tiene ciertas limitaciones. Con una potencia de procesamiento de gr\u00e1ficos suficiente, incluso los programadores de gr\u00e1ficos querr\u00edan utilizar mejores formatos, como los formatos de datos de punto flotante, para obtener efectos tales como im\u00e1genes de alto rango din\u00e1mico. Muchas aplicaciones GPGPU requieren una precisi\u00f3n de punto flotante, que ven\u00eda con tarjetas de video que cumplen con la especificaci\u00f3n DirectX 9.<\/p>\n<p style=\"text-align: justify;\">DirectX 9 Shader Model 2.x sugiri\u00f3 el soporte de dos tipos de precisi\u00f3n: total y parcial. El soporte de precisi\u00f3n total podr\u00eda ser FP32 o FP24 (punto flotante de 32 o 24 bits por componente) o mayor, mientras que la precisi\u00f3n parcial fue FP16. La serie de GPU Radeon R300 de ATI admit\u00eda la precisi\u00f3n de la FP24 solo en la tuber\u00eda de fragmentos programables (aunque la FP32 era compatible con los procesadores de v\u00e9rtices), mientras que la serie NV30 de Nvidia era compatible con la FP16 y la FP32; otros proveedores como S3 Graphics y XGI admitieron una mezcla de formatos hasta FP24.<\/p>\n<div id=\"attachment_2448\" style=\"width: 560px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.hostdime.com.pe\/blog\/soporte-de-hardware-para-la-computacion-de-proposito-general-en-gpus\/gpu-nvidia-blog-hostdime\/\" rel=\"attachment wp-att-2448\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2448\" class=\"wp-image-2448\" src=\"https:\/\/www.hostdime.com.pe\/blog\/wp-content\/uploads\/2019\/02\/GPU-Nvidia-Blog-HostDime-300x152.png\" alt=\"GPU-Nvidia-Blog HostDime\" width=\"550\" height=\"278\" \/><\/a><p id=\"caption-attachment-2448\" class=\"wp-caption-text\">Tomado de internet<\/p><\/div>\n<p style=\"text-align: justify;\">Shader Model 3.0 modific\u00f3 la especificaci\u00f3n, aumentando los requisitos de precisi\u00f3n a un m\u00ednimo de soporte FP32 en la tuber\u00eda de fragmentos. La generaci\u00f3n de R5xx compatible con Shader Model 3.0 de ATI ( serie Radeon X1000 ) admite solo FP32 en toda la tuber\u00eda, mientras que las series NV4x y G7x de Nvidia continuaron siendo compatibles con las precisiones parciales FP32 de precisi\u00f3n total y FP16. Aunque no est\u00e1 estipulado por Shader Model 3.0, las GPU ATI y Shader Model 3.0 de Nvidia presentaron soporte para los objetivos de renderizado FP16 mezclables, facilitando m\u00e1s f\u00e1cilmente el soporte para el procesamiento de alto rango din\u00e1mico.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Las implementaciones de punto flotante en las GPU de Nvidia son en su mayor\u00eda compatibles con IEEE; Sin embargo, esto no es cierto en todos los proveedores. Esto tiene implicaciones para la correcci\u00f3n que se consideran importantes para algunas aplicaciones cient\u00edficas. Si bien los valores de punto flotante de 64 bits (flotaci\u00f3n de doble precisi\u00f3n) generalmente est\u00e1n disponibles en las CPU, estos no son universalmente compatibles con las GPU. Algunas arquitecturas de GPU sacrifican el cumplimiento de IEEE, mientras que otras carecen de precisi\u00f3n doble. Se han realizado esfuerzos para emular valores de punto flotante de doble precisi\u00f3n en las GPU; sin embargo, la compensaci\u00f3n de la velocidad niega cualquier beneficio de descargar la computaci\u00f3n en la GPU en primer lugar.<\/p>\n<h2 style=\"text-align: justify;\"><span style=\"color: #ff6600;\">Vectorizaci\u00f3n<\/span><\/h2>\n<p style=\"text-align: justify;\">La mayor\u00eda de las operaciones en la GPU operan de manera vectorial: una operaci\u00f3n se puede realizar en hasta cuatro valores a la vez. Por ejemplo, si un color &lt;R1, G1, B1&gt; se va a modular con otro color &lt;R2, G2, B2&gt;, la GPU puede producir el color resultante en una operaci\u00f3n. Esta funcionalidad es \u00fatil en gr\u00e1ficos porque casi todos los tipos de datos b\u00e1sicos son vectores (2, 3 o 4 dimensiones). Los ejemplos incluyen v\u00e9rtices, colores, vectores normales y coordenadas de textura. Muchas otras aplicaciones pueden dar buen uso a esto, y debido a su mayor rendimiento, las instrucciones vectoriales, denominadas instrucci\u00f3n \u00fanica, datos m\u00faltiples ( SIMD ), han estado disponibles durante mucho tiempo en las CPU.<\/p>\n<p style=\"text-align: justify;\">Sugiero consultar tambi\u00e9n: <a href=\"https:\/\/www.hostdime.com.pe\/blog\/historia-e-implementaciones-de-la-computacion-de-proposito-general-en-unidades-de-procesamiento-de-graficos\/\" target=\"_blank\" rel=\"noopener\">Historia e implementaciones de la computaci\u00f3n de prop\u00f3sito general en unidades de procesamiento de gr\u00e1ficos<\/a>; <a href=\"https:\/\/www.hostdime.com.pe\/blog\/que-es-la-computacion-gpu-definicion-concepto\/\" target=\"_blank\" rel=\"noopener\">Qu\u00e9 es la Computaci\u00f3n GPU<\/a>; <a href=\"https:\/\/pcweb.info\/la-computacion-acelerada-por-gpu-se-abre-paso-en-el-centro-de-datos\/\" target=\"_blank\" rel=\"noopener\">La computaci\u00f3n acelerada por GPUs se abre paso en los centros de datos<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Soporte de Hardware para la Computaci\u00f3n de prop\u00f3sito general en GPUs. Las tarjetas de video de computadora son producidas por varios proveedores, como Nvidia , y AMD y ATI. Las tarjetas de dichos proveedores difieren en la implementaci\u00f3n del soporte [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2451,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-2419","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tecnologia"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.hostdime.com.pe\/blog\/wp-json\/wp\/v2\/posts\/2419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostdime.com.pe\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostdime.com.pe\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostdime.com.pe\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostdime.com.pe\/blog\/wp-json\/wp\/v2\/comments?post=2419"}],"version-history":[{"count":0,"href":"https:\/\/www.hostdime.com.pe\/blog\/wp-json\/wp\/v2\/posts\/2419\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostdime.com.pe\/blog\/wp-json\/wp\/v2\/media\/2451"}],"wp:attachment":[{"href":"https:\/\/www.hostdime.com.pe\/blog\/wp-json\/wp\/v2\/media?parent=2419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostdime.com.pe\/blog\/wp-json\/wp\/v2\/categories?post=2419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostdime.com.pe\/blog\/wp-json\/wp\/v2\/tags?post=2419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}