Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests.jpg

Ivy bridge información general. Intel ha lanzado oficialmente Ivy bridge, su nueva familia de procesadores que combinan la cpu y la GPU en el mismo chip.

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_1.jpg

El procesador de Ivy bridge (socket LGA 1155) se basa en la nueva tecnología de 22nm (Sandy bridge: 32nm), incorporando la nueva tecnología de Intel, llamada tri-gate (o 3d) transistor y paquetes de una cpu de 4 núcleos y una 16-ue (o 16 núcleos de sombreado) GPU:

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_2.jpg

Ivy bridge GPU también llamado Hd 4000. Esta GPU tiene 16 eus (unidad de ejecución con 8 hilos/eu), 2 unidades de textura y lo más destacable e importante es la GPU dx11. Sí significa que puede hacer teselación de hardware con un Hd 4000. En la actualidad, Intel proporciona un controlador Direct3D 11 por lo que tenemos que olvidar teselación de OpenGL. Pero es sólo una cuestión de tiempo y seguro que Intel lanzara próximamente un controlador capaz de correr en OpenGL 4.x.

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_3.jpg

Aquí están los detalles sobre el procesador de Ivy bridge que se utiliza para esta prueba:

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_6.png

pruebas Ivy bridge con OpenGL.

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_7.jpg

Dicho esto, vamos a ver primero el lado OpenGL de la Hd 4000. Los últimos controladores de gráficos Intel (v2696) exponen la Api OpenGL 3.3 (compilación 8.15.10.2696) con 132 extensiones de OpenGL (gl = 118 y wgl = 14). En comparación con la Hd 2000 con Sandy bridge controlador v2656, se han agregado 3 nuevas extensiones de OpenGL:

  1. gl_arb_blend_func_extended.
  2. gl_arb_geometry_shader4
  3. gl_arb_texture_multisample.

A continuación algunas pruebas con OpenGL:
Msi Radeon Hd 7970 (GPU@925 Mhz, mem@1375 Mhz), Catalyst 12.3 WHQL (Windows 7 64-bit) – 5055 puntos (84 fps)
Msi GeForce 9600 GT Diamond (GPU@650 Mhz, mem@850 Mhz), r301.24 beta (rama r301_07-12, Windows 7 64-bit) – 586 puntos (9 fps)
Intel Ivy bridge Core i7 (2.2 GHz), Hd 4000, driver v8.15.10.2669 (Windows 7 64-bit) – 275 puntos (4 fps)
Asus Radeon Hd 2400 (GPU@525 Mhz, mem@400 Mhz), Catalyst 12.3 WHQL (Windows 7 64-bit) – 64 puntos (1 fps).

Shadertoymarque 0.3.0 es un punto de referencia de 100% GLSL píxel shader. Configuración de ventana a 960 x 540.

Asus Radeon Hd 7770 DC top, Catalyst 12.3 WHQL (Windows 7 64-bit) – 215 puntos (35 fps)
Msi GeForce GTX 260, r296.10 (Windows 7 64-bit) – 33 puntos (5 fps)
Intel Ivy bridge Core i7 (2.2 GHz), Hd 4000, driver v8.15.10.2669 (Windows 7 64-bit) – 31 puntos (5 fps)
pruebas Ivy bridge con OpenCL

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_8.jpg

Esta es la parte interesante. Los procesadores Sandy bridge están disponibles con un soporte de OpenCL limitado solo por la cpu. Ahora con procesadores Ivy bridge, a continuación, lo que GPU caps viewer nos dice acerca de la compatibilidad de Ivy bridge OpenCL.

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_9.jpg

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_10.jpg

Sólo la versión demo del programa deformador de malla tiene un pequeño problema con las normales en la versión OpenCL GPU, la cpu OpenCL funciona correctamente:

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_11.jpg

Mesh deformer, OpenCL GPU, render incorrecto

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_12.jpg

Mesh deformer, OpenCL GPU, render correcto
A continuación algunos de los resultados:
Qjulia 4d demo, tamaño ventana 600×600:
– Ivy bridge Hd 4000 OpenCL GPU test: alrededor de 35 fps.
– Ivy bridge OpenCL cpu test: alrededor de 15 fps.
– GeForce GTX 680: alrededor de 200 fps.

Postfx demo, 600×600 windowed:
– Ivy bridge Hd 4000 OpenCL GPU test: alrededor de 20 fps.
– Ivy bridge OpenCL cpu test: alrededor de 5 fps.
– GeForce GTX 680: alrededor de 120 fps.

Como puede ver, el soporte de OpenCL GPU trae algunas mejoras en el rendimiento en comparación con el apoyo de la cpu. El doble apoyo de OpenCL (cpu + GPU) que está disponible con los procesadores Ivy bridge hará felices a los usuarios de la próxima Photoshop cs6, que ya está programado para aprovechar al máximo este nuevo procesador.
clbenchmark, Ivy bridge OpenCL cpu

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_13.jpg

clbenchmark, Ivy bridge OpenCL GPU

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_14.jpg

Como puede ver, OpenCL GPU no es siempre el camino más rápido para procesar los datos. Dependiendo del tipo de algoritmos, OpenCL cpu puede ser más eficiente que GPU OpenCL. Pero para procesar gráficos puros como Raytracing (que es altamente paralelizable), el camino GPU OpenCL es mucho más rápido que el camino de la cpu.

Aquí está el informe completo de OpenCL proporcionado por GPU caps viewer:
-Num OpenCL platforms: 1
– Cl_platform_name: Intel(r) OpenCL.
– Cl_platform_vendor: Intel(r) corporation.
– Cl_platform_version: OpenCL 1.1
– Cl_platform_profile: full_profile.
– Num devices: 2.

Cl_device_name: genuine Intel(r) cpu @ 2.20 Ghz.
– Cl_device_vendor: Intel(r) corporation.
– Cl_driver_version: 1.1
– Cl_device_profile: full_profile.
– Cl_device_version: OpenCL 1.1 (build 30316.3032
– Cl_device_type: cpu.
– Cl_device_vendor_id: 0x8086
– Cl_device_max_compute_units: 8
– Cl_device_max_clock_frequency: 2200 Mhz.
– Cl_device_adres_bits: 32
– Cl_device_max_mem_alloc_size: 524256kb.
– Cl_device_global_mem_size: 2047mb.
– Cl_device_max_parameter_size: 3840
– Cl_device_global_mem_cacheline_size: 64 bytes.
– Cl_device_global_mem_cache_size: 256kb.
– Cl_device_error_correction_suport: no.
– Cl_device_local_mem_type: global.
– Cl_device_local_mem_size: 32kb.
– Cl_device_max_constant_bufer_size: 128kb.
– Cl_device_max_work_item_dimensions: 3
– Cl_device_max_work_item_sizes: [1024 ; 1024 ; 1024]
– Cl_device_max_work_group_size: 1024
– Cl_exec_native_kernel: 19527224
– Cl_device_image_suport: yes.
– Cl_device_max_read_image_args: 480
– Cl_device_max_write_image_args: 480
– Cl_device_image2d_max_width: 8192
– Cl_device_image2d_max_height: 8192
– Cl_device_image3d_max_width: 2048
– Cl_device_image3d_max_height: 2048
– Cl_device_image3d_max_depth: 2048
– Cl_device_max_samplers: 480
– Cl_device_preferred_vector_width_char: 16
– Cl_device_preferred_vector_width_short: 8
– Cl_device_preferred_vector_width_int: 4
– Cl_device_preferred_vector_width_long: 2
– Cl_device_preferred_vector_width_float: 4
– Cl_device_preferred_vector_width_double: 2
– Cl_device_extensions: 11
– Extensions:
– Cl_khr_fp64
– Cl_khr_icd.
– Cl_khr_global_int32_base_atomics.
– Cl_khr_global_int32_extended_atomics.
– Cl_khr_local_int32_base_atomics.
– Cl_khr_local_int32_extended_atomics.
– Cl_khr_byte_addressable_estore.
– Cl_intel_printf.
– Cl_ext_device_fission.
– Cl_intel_exec_by_local_thread.
– Cl_khr_gl_sharing.

Cl_device_name: Intel(r) Hd graphics 4000
– Cl_device_vendor: Intel(r) corporation.
– Cl_driver_version: 8.15.10.2696
– Cl_device_profile: full_profile.
– Cl_device_version: OpenCL 1.1
– Cl_device_type: GPU
– Cl_device_vendor_id: 0x8086
– Cl_device_max_compute_units: 16
– Cl_device_max_clock_frequency: 400 Mhz.
– Cl_device_adres_bits: 64
– Cl_device_max_mem_alloc_size: 415744kb.
– Cl_device_global_mem_size: 1624mb.
– Cl_device_max_parameter_size: 1024
– Cl_device_global_mem_cacheline_size: 64 bytes.
– Cl_device_global_mem_cache_size: 2048kb.
– Cl_device_error_correction_suport: no.
– Cl_device_local_mem_type: local (scratchpad)
– Cl_device_local_mem_size: 64kb.
– Cl_device_max_constant_bufer_size: 64kb.
– Cl_device_max_work_item_dimensions: 3
– Cl_device_max_work_item_sizes: [512 ; 512 ; 512]
– Cl_device_max_work_group_size: 512
– Cl_exec_native_kernel: 19527220
– Cl_device_image_suport: yes.
– Cl_device_max_read_image_args: 128
– Cl_device_max_write_image_args: 8
– Cl_device_image2d_max_width: 16384
– Cl_device_image2d_max_height: 16384
– Cl_device_image3d_max_width: 2048
– Cl_device_image3d_max_height: 2048
– Cl_device_image3d_max_depth: 2048
– Cl_device_max_samplers: 16
– Cl_device_preferred_vector_width_char: 1
– Cl_device_preferred_vector_width_short: 1
– Cl_device_preferred_vector_width_int: 1
– Cl_device_preferred_vector_width_long: 1
– Cl_device_preferred_vector_width_float: 1
– Cl_device_preferred_vector_width_double: 0
– Cl_device_extensions: 10
– Extensions:
– Cl_khr_icd.
– Cl_khr_global_int32_base_atomics.
– Cl_khr_global_int32_extended_atomics.
– Cl_khr_local_int32_base_atomics.
– Cl_khr_local_int32_extended_atomics.
– Cl_khr_gl_sharing.
– Cl_khr_d3d10_sharing.
– Cl_intel_dx9_media_sharing.
– Cl_khr_3d_image_writes.
– Cl_khr_byte_addressable_estore.

Fuentes : hardware, Final Render y anandtechcom.

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_15.jpg
Miniaturas adjuntas
Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_3.jpg   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_6.png   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_7.jpg   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_8.jpg   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_9.jpg  

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_10.jpg   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_11.jpg   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_12.jpg   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_13.jpg   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_14.jpg  

Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests.jpg   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_1.jpg   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_2.jpg   Intel Ivy bridge Hd graphics 4000 GPU: pruebas de OpenGl y openCL-intel_ivy_bridge_opengl_opencl_tests_15.jpg  

Ver más sobre el tema y los comentarios en el foro