Autor Tema: [ Resuelto ] CUDA y otros conceptos...  (Leído 766 veces)

0 Usuarios y 1 Visitante están viendo este tema.

davidmbueno

  • Miembro nuevo
  • *
  • Desconectado Desconectado
  • Registrado: 20/12/2016
  • Mensajes: 11
  • Valoración: 0
[ Resuelto ] CUDA y otros conceptos...
« Mensaje inicial: 20 de Diciembre de 2016, 20:53 »
Buenas a todos!
Después de estar investigando y leyendo durante un buen rato, acabo de darme cuenta que hay una cantidad enorme de conceptos que desconocía del todo.
Estaba pensando en adquirir un nuevo equipo para dedicarlo a la codificación de vídeo, pero me surgen nuevas dudas cada vez que leo un poco más.  Si éste no es el hilo correcto para plantear estas cuestiones, por favor hacédmelo saber y pido disculpas de antemano. Bueno, vamos a ello:

En primer lugar me gustaría saber  si realmente merece la pena invertir en una tarjeta gráfica con soporte CUDA, pues he leído que esto es un "hardware encoding" que aumenta considerablemente la velocidad de codificación.
En segundo lugar, y corregidme si me equivoco,  si no he entendido mal, dependiendo del chipset que monte la tarjeta, esta podrá codificar por hardware bien H264 o bien H265.
Mi duda es, si una tarjeta que monte un chipset que permita codificar H265, sería a su vez compatible con el  codec H264. Mi sentido común me dice que sí, pero como ando muy perdido en este tema, me gustaría ver si me lo podéis asegurar. En tal caso, necesitaría una gráfica capaz de codificar por hardware h264 y h265.

En último lugar, quisiera saber si la aplicación Handbrake, es compatible con esta nueva tecnología. Tampoco sé si hay que hacer algún tipo de ajuste en la configuración de la tarjeta gráfica para activar esta codificación por hardware.

Gracias a todos de antemano
« Última modificación: 29 de Diciembre de 2016, 11:06 por davidmbueno »



Perico el del Palote

  • Colaborador
  • ******
  • Desconectado Desconectado
  • Registrado: 25/08/2010
  • Mensajes: 2.118
  • Valoración: 77
  • Depravado sin remedio
Re:CUDA y otros conceptos...
« Respuesta #1: 20 de Diciembre de 2016, 23:44 »
Personalmente creo que con los chips que existen para un PC (i7 6700k, como es mi caso), necesitarias una grafica bastante potente para notar que le alivia al micro, de hecho para aprovechar de manera nativa la decodificación por hardware de h265 (por micro no por chipset) necesitas una grafica (nvidia) a partir de la GTX 960 http://www.digitaltrends.com/computing/h-265-hevc-encoding-explained/, lo que supone un desembolso importante.

El conjunto de lenguajes o instrucciones que le insertan a la grafica no solo es exclusivo a h265, sino que son mejoras acumulativas, si soporta h265 tambien lo hace con h264.

De handbrake, ni idea. Saludos.

davidmbueno

  • Miembro nuevo
  • *
  • Desconectado Desconectado
  • Registrado: 20/12/2016
  • Mensajes: 11
  • Valoración: 0
Re:CUDA y otros conceptos...
« Respuesta #2: 21 de Diciembre de 2016, 00:35 »
Gracias por tu respuesta!
Ahora se me plantea una nueva duda. Me estoy centrando en la codificación por hardware y quizá no necesite ir tan lejos.
Yo busco alta velocidad de codificacion. (Por ejemplo, recodificar una película de 2h en 20 min a 2 pasadas. No se si eso es posible, o me estoy viniendo arriba...)
Por lo que comentas, creo entender que la codificacion por hardware lo que hace es aliviar la CPU, pero no tengo muy claro si esto aumenta el rendimiento.
De no ser así, tampoco me supone gran problema tirar únicamente de CPU, ya que a la hora de codificar, no voy a estar utilizando el equipo para nada más.

RESUMIENDO: Entiendo que es necesario si o si disponer de una buena gráfica, pero para alcanzar tasas altas de velocidad de codificacion, quizá no sea imprescindible hacer uso de la codificacion via GPU. ¿Voy bien encaminado?
Gracias!

tebasuna51

  • Moderador
  • ******
  • Desconectado Desconectado
  • Registrado: 22/02/2010
  • Mensajes: 4.164
  • Valoración: 209
Re:CUDA y otros conceptos...
« Respuesta #3: 21 de Diciembre de 2016, 14:37 »
Me temo que en este foro no hay nadie con experiencia codificando con GPU, así que solo podemos hablar de lo leido en otros foros.

- Como te dice Overdrive80 necesitas al menos una GTX 960 (más de 200€)
- Hay que instalar drivers y software adecuado para hacer funcionar el codificador de nVidia (NVENC)
- Hay quien cuestiona la calidad obtenida con ese codificador
- Realmente parece que la GPU obtiene velocidades de codificación superiores a la CPU, sobretodo codificando a h265

Lo más instructivo que he encontrado gogleando es el hilo: http://forum.videohelp.com/threads/371187-Testing-NVENC-with-the-GTX-960
En el participan gente como poisondeathray y hello_hello que conozco de Doom9 y suelen tener opiniones fiables.

davidmbueno

  • Miembro nuevo
  • *
  • Desconectado Desconectado
  • Registrado: 20/12/2016
  • Mensajes: 11
  • Valoración: 0
Re:CUDA y otros conceptos...
« Respuesta #4: 21 de Diciembre de 2016, 14:42 »
Pues en ese caso, olvidando el tema de la gráfica super avanzada, ¿se puede llegar a conseguir una velocidad de codificacion como la que he comentado anteriormente, o a dia de hoy eso es imposible? Por ejemplo con un i7 6700 y 8Gb de RAM¿?

tebasuna51

  • Moderador
  • ******
  • Desconectado Desconectado
  • Registrado: 22/02/2010
  • Mensajes: 4.164
  • Valoración: 209
Re:CUDA y otros conceptos...
« Respuesta #5: 21 de Diciembre de 2016, 15:03 »
Codificar 2h (120 m) en 20 m implica una velocidad 6x

La velocidad de codificación depende de:
- Resolución requerida: 720p, 1080p, 4k, ...
- h264 o h265
- Configuración del codificador (a mayor velocidad menor ahorro de bitrate requerido para una calidad fija)
- Filtrado de la imagen necesario/Dificultad de codificación de la fuente
- Hardware utilizado

Puedo obtener una velocidad 1x con: 720p, h264, Preset Medium (defecto) a una pasada (crf recomendado), sin filtrado dificultad media, AMD FX-6300 (6 cores) 3,5 GHz, 8GB RAM, Geforce GT 630 (decodificando el vídeo)

Con el i7 irá más rápido pero dudo que llegue a 6x, y si la codificación es a 1080p o h265 ...

davidmbueno

  • Miembro nuevo
  • *
  • Desconectado Desconectado
  • Registrado: 20/12/2016
  • Mensajes: 11
  • Valoración: 0
Re:CUDA y otros conceptos...
« Respuesta #6: 21 de Diciembre de 2016, 15:14 »
Wow! Muchísimas gracias tebasuna51! Esas referencias eran justo lo que buscaba. Así ya me puedo hacer una idea aproximada de las velocidades de codificación que ofrecen determinados equipos.
Realmente era lo que me interesaba saber, pero al leer todo lo de las Nvidia CUDA quizá empecé a indagar en algo que puede que no necesite del todo  ;-)
De hecho, una velocidad 6x era curiosidad más que cualquier otra cosa. Con 3x o 2x creo que me será suficiente. Ahora toca buscar un equipo que me ofrezca eso. Si alguien tiene una idea, será bienvenida, jejeje. Tengo pensado 1000/1200€ de presupuesto (monitor incluido)
Muchas gracias de nuevo por las referencias!  :-D

Perico el del Palote

  • Colaborador
  • ******
  • Desconectado Desconectado
  • Registrado: 25/08/2010
  • Mensajes: 2.118
  • Valoración: 77
  • Depravado sin remedio
Re:CUDA y otros conceptos...
« Respuesta #7: 21 de Diciembre de 2016, 19:19 »
Haciendo uso de http://x265.ru/soft/x265/x265.HD.Benchmark/x265_HD_Benchmark_0.1.4.zip, de la pagina http://x265.ru/en/builds/, el resultado es:

Citar
x265 HD BENCHMARK 0.1.4 RESULTS
 
Please do NOT compare it with older versions of the benchmark!
Please copy/paste everything below the line to to report your
data to http://x265.ru/x265-hd-benchmark/
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Results for x265.exe build 1.4+5
x265 Benchmark: 64-bit
==========================
 
CRF-20 preset-"fast"
--------------------
encoded 1128 frames in 60.79s (18.56 fps), 2266.68 kb/s
encoded 1128 frames in 60.38s (18.68 fps), 2266.68 kb/s
encoded 1128 frames in 60.49s (18.65 fps), 2266.68 kb/s
encoded 1128 frames in 60.35s (18.69 fps), 2266.68 kb/s
 
 
System Details
--------------
   Name         Intel Core i7 6700K
   Codename      Skylake
   Specification      Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
   Core Stepping      R0
   Technology      14 nm
   Stock frequency      4000 MHz
   Core Speed      3999.0 MHz
 
Northbridge         Intel Skylake rev. 07
Southbridge         Intel Skylake PCH rev. 31
 
CAS# latency (CL)      15.0
RAS# to CAS# delay (tRCD)   15
RAS# Precharge (tRP)      15
Cycle Time (tRAS)      36
Command Rate (CR)      2T
Memory Frequency      1066.5 MHz (1:16)
Memory Type         DDR4
Memory Size         16348 MBytes
Channels         Dual
 
Windows Version         Microsoft Windows 10 (10.0) Education 64-bit   (Build 14393)
 
Number of processors      1
Number of threads      8
   Number of threads   8 (max 16)
   L2 cache      4 x 256 KBytes, 4-way set associative, 64-byte line size
   Instructions sets   MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, AVX, AVX2, FMA3, TSX
   Package (platform ID)   Socket 1151 LGA (0x1)
   Temperature 1      29°C (84°F) [0x47] (Package)
   Power 0         8.67 W (Package)
 
   Temperature 0      25°C (76°F) [0x4B] (Core #0)
   Temperature 1      29°C (84°F) [0x47] (Package)
   Temperature 0      34°C (93°F) [0x22] (SYSTIN)
   Temperature 3      28°C (82°F) [0x1C] (TMPIN3)

Por si te ayuda.

davidmbueno

  • Miembro nuevo
  • *
  • Desconectado Desconectado
  • Registrado: 20/12/2016
  • Mensajes: 11
  • Valoración: 0
Re:CUDA y otros conceptos...
« Respuesta #8: 21 de Diciembre de 2016, 19:53 »
Muchisimo! Me ha ayudado muchísimo.
No sabía de la existencia de este tipo de páginas. Creo que es lo que más me va a servir para elegir el equipo apropiado.
He indagado y hay por ahí muchas páginas con este tipo de benchmarks, con tablas comparativas, etc.
Muchas gracias a todos, de verdad.