Alternativa de Bitcoin diseñada para NVIDIA

Actualmente, las mejores tarjetas gráficas para minar Bitcoins son todas AMD. ¿Qué debería cambiarse en el protocolo Bitcoin para que la versión alternativa de Bitcoins sea mejor extraída por las tarjetas gráficas NVIDIA? ¿Podría haber un protocolo que soportara ambas tarjetas gráficas producidas de manera más o menos igual?

El protocolo bitcoin no debe cambiarse para hacer feliz a NVIDIA.
De acuerdo, me preguntaba si se podría diseñar una moneda alternativa para usar NVIDIA.

Respuestas (2)

La razón específica por la que las tarjetas AMD son más eficientes para la minería de Bitcoin es doble y la respuesta a esta pregunta depende de ambas razones:

  1. Las GPU de AMD tienden a tener ALU de gama baja, pero lo compensan colocando más ALU en la tarjeta en general. Para la mayoría de los algoritmos hash esto es preferible.
  2. Las GPU de AMD utilizan ALU que pueden realizar la operación de rotación a la derecha de enteros de 32 bits en una sola instrucción; las ALU de Nvidia necesitan tres ciclos de procesador para realizar la misma operación. SHA256 usa mucho esta operación, por lo tanto, la minería de Bitcoin usa mucho esta operación.

La combinación de las dos razones anteriores da como resultado una generación general de sumas de verificación SHA256 de 3 a 5 veces más rápida. Sin embargo , los dos efectos no son iguales: el efecto 1 conduce a aproximadamente 2x-3x el rendimiento de Nvidia por sí solo, y el efecto 2 representa una ventaja de rendimiento de aproximadamente 1,7x. Incluso si tuviera que elegir un algoritmo hash que hiciera menos uso de la instrucción BIT_ALIGN_INT, las tarjetas AMD seguirían siendo 2x-3x más rápidas para los algoritmos hash en general. Esto se debe a que tales algoritmos están diseñados explícitamente para ser operaciones binarias simples que las ALU simples de AMD pueden manejar tan bien como las ALU más complejas de Nvidia.

Para elegir un algoritmo que funcionaría mejor en las tarjetas Nvidia que en las tarjetas AMD, no solo tendría que eliminar escenarios como el n. ° 2 anterior donde una instrucción específica se implementa mejor en una tarjeta que en la otra, también tendría que para elegir un algoritmo con matemáticas lo suficientemente complejas como para que las ALU de gama alta de Nvidia tengan la oportunidad de brillar individualmente. Que yo sepa, no existe tal algoritmo.

Para respaldar mis declaraciones, aquí hay algunos datos de ejemplo del sitio web de oclHashcat . La siguiente tabla compara las mediciones de rendimiento reales de tarjetas AMD y Nvidia de precio similar para los algoritmos MD5, SHA1, MD4, NTLM y SHA256, entre otros.

tabla de rendimiento oclHashcat

Tenga en cuenta que al comparar PC1/2 y PC3/4, las tarjetas Nvidia en realidad tienen velocidades de reloj más altas en ambos casos y aún funcionan peor. En ningún caso, el rendimiento de Nvidia se acercó al rendimiento de una tarjeta AMD de precio similar y, que yo sepa, ningún algoritmo implementado actualmente realiza matemáticas suficientemente complejas para hacer uso de las ALU más avanzadas en las tarjetas de Nvidia.

En resumen, las tarjetas de Nvidia son como una habitación pequeña con varias personas bastante inteligentes, cada una capaz de matemáticas complejas, mientras que las tarjetas de AMD son como un taller de explotación. Los algoritmos hash son el equivalente informático de la producción en masa de zapatillas de tenis de marca y, por lo tanto, la tarjeta AMD "sweatshop" siempre tendrá un rendimiento superior.

Y antes de que alguien me pida que agregue a la ridícula analogía: una CPU es como un premio Nobel con un coeficiente intelectual inconmensurable sentado solo en una oficina. Si se le pide que cosa un par de tenis, pasará las próximas tres horas en una pizarra demostrando matemáticamente que los zapatos existen.

La respuesta de David Perry es sólida. Solo agregaría que lo que hará que las tarjetas NVidia sean más competitivas no es cambiar bitcoin o hacer una alternativa, sino que las fuerzas del mercado obligarán a NVidia a mejorar el rendimiento de enteros.

Nvidia es muy consciente de que su rendimiento de enteros es abismal y cada generación de AMD va más allá. En el pasado, esto no era muy importante porque las matemáticas de coma flotante se utilizan para gráficos, física y la mayoría de los trabajos informáticos de alto rendimiento. El rendimiento entero aún abismal es un punto débil en su alineación y, a medida que GPGPU se vuelve más convencional, importará cada vez más. Con el tiempo, espere soluciones GPGPU para todo, desde acelerar los protocolos de enlace SSL hasta el cifrado de todo el disco duro. A menos que Nvidia simplemente quiera entregar todo el mercado criptográfico a AMD en bandeja de plata, se verán obligados a mejorar el rendimiento de los enteros. La forma en que hacen esto no es realmente importante (a menos que trabaje para NVidia), las fuerzas del mercado requerirán que NVidia lo haga o se enfrentarán a una disminución de la participación en el mercado.

Nvidia y AMD son simplemente diferentes escuelas de diseño. Nvidia se enfoca en la potencia de cada procesador de flujo individual, mientras que AMD se enfoca en la cantidad de procesadores integrados. Desde el punto de vista del rendimiento gráfico real, personalmente prefiero las tarjetas Nvidia.
Estoy de acuerdo, sin embargo, NVidia necesitará mejorar el rendimiento de enteros de alguna manera. Pueden usar sombreadores complejos e inventar instrucciones que pueden realizar un trabajo de enteros más complejo (agrupados de códigos de operación OpenCL existentes) o pueden hacer que sus sombreadores sean un poco menos complejos o pueden mejorar el manejo interno de enteros. Mi hipótesis es que la aceleración de criptografía GPGPU será más común en el futuro. Todo, desde winzip hasta SSL, pasando por el cifrado completo del disco duro y la ampliación de contraseñas, podría acelerarse a través de la GPU. NVidia corre el riesgo de perder cuota de mercado sin un rendimiento entero competitivo.
Estoy de acuerdo en que probablemente necesitarán abordar sus problemas de rendimiento de enteros en el futuro, el punto que estaba tratando de hacer es que una tarjeta Nvidia con muchos procesadores de flujo y alto rendimiento de enteros sería una excepción a la regla, simplemente no es el estilo de Nvidia. , prefieren tener pocos procesadores de gama alta mientras que AMD prefiere muchos de gama baja.
Acordado. Es una división filosófica profunda. Antes de los sombreadores unificados, las tarjetas de ambas empresas eran muy similares. Cuando se introdujeron los sombreadores unificados, ambas compañías tomaron direcciones radicalmente diferentes. Como indicó, AMD optó por el modelo "más es más" y NVidia optó por el modelo "calidad sobre cantidad". Aún así, la arquitectura de próxima generación de AMD utilizará sombreadores un poco más complejos (aunque no tan complejos como NVidia) para mejorar la eficiencia de la matriz. Es posible (aunque no tengo evidencia que lo respalde) que veamos un movimiento hacia el centro por parte de ambas compañías a medida que se desarrollen las arquitecturas GPGPU.