Personal Profile

News

1 2 3 14

Python Primer for the Impatient

Python programming language logo

Python is one of the scripting languages supported by GLSL Hacker. Here is a quick introduction to the essential notions and syntax of Python programming language. All following notions are general and are not specific to GLSL Hacker. Thanks to this primer, you will be able to quickly tweak and hack GLSL Hacker demos. GLSL Hacker 0.5.0 is available with a Python 2.7 plugin.

The reference manual of Python 2 can be found HERE.

This primer does not cover advanced topics like object oriented programming. It follows the same line than Lua Primer fro the Impatient: providing a quick way to read and write basic Python programs or scripts.

1 – Comments

Python supports two kinds of comments: single line comments and multi-line comments.

Single line comment: #

# this is a single line comment in Python

Multi-line comment with triple quotes: “””

"""
this is a 
multi-line
comment in Python
"""

2 – Variables

Variables in Python have a type but there is no type declaration. Common types are numbers (float, integer), strings, lists, tuples and dictionnaries. Variables defined in a function have local scope while Variables defined outside functions have global scope.

num_vertices = 0 # integer variable
width = 10.25 # float variable
mesh_name = "my_kool_mesh" # string variable

Tuples use parentheses while lists use brackets. Tuples can’t be updated, their size can’t be changed while lists can be updated, elements can be added or removed.

shader_tuple = ('Vertex', 'Fragment', 'Geometry') # tuple

program_list = ['prog01', 'prog02', 'prog03'] # list
program_list.append('prog04')
program_list.append('prog05')

Dictionnaries is a kind of hash table and are made up of pairs of key:value. The key is usually a number or a string.

node_dict = {} # dictionnary
node_dict['node01'] = 100
node_dict['node02'] = 101
node_dict['node03'] = 102

To sum up:

my_tuple = ()
my_list = []
my_dict = {}

You can convert a type to another type with float(), int(), str(), tuple() or dict():

x = 10
x_str = str(x)

To concatenate strings, just use the + operator:

space = " "
app_name = "GLSL" + space + "Hacker" 

3 – Indentation

Unlike C, PHP or Lua, Python does not have braces to delimit blocks of code like functions or tests. To delimit blocks of code, Python uses indentation and indentation is severely inspected by Python, The smallest difference in indentation leads to fatal compilation error! So be careful with indentation and use a correct text editor to handle indentation properly.

4 – Functions

Functions in Python can take multiple arguments and can return multiple results.

def myKoolFunc(a, b, c):
  # indentation!!!
  # Do something useful with a, b and c:
  sum = a+b+c
  avg = sum/3
  return sum, avg

  
x, y = myKoolFunc(1, 2, 3)

5 – Operators

Comparison: The comparison operators are the same than in C language:

  • equal: (a == b)
  • not equal: (a != b)
  • greater than: (a > b)
  • greater than or equal: (a >= b)
  • lesser than: (a < b)
  • lesser than or equal: (a <= b)

Logical:

  • and: (a and b)
  • or: (a or b)

Bitwise:

  • binary AND: (a & b)
  • binary OR: (a | b)
  • binary left shift: a << b
  • binary right shift: a >> b
  • binary XOR: (a ^ b)
  • binary complement: ~a

6 – Control Structures

Conditional tests:

if (a == x):
  # do something
elif (a == y):
  # do something
else:
  # do something

Loops

for:

for i in range(0, 10):
  # do something

for i in "GLSL Hacker":
  print(i) # print current letter

for v in range(len(vertices_list)):
  Update_Position(v)
 

while:

i=0
while (i < 10):
  # do something
  i += 1 

7 – Built-in functions

Python comes with a ton of modules and that’s one of the strength of Python:

Fans of Python use the phrase batteries included to describe the standard library, which covers everything from asynchronous processing to zip files. The language itself is a flexible powerhouse that can handle practically any problem domain. Build your own web server in three lines of code. Build flexible data-driven code using Python’s powerful and dynamic introspection capabilities and advanced language features such as meta-classes, duck typing and decorators.

There are so many modules and functions in Python standard library and I’m not going to list them here. Nonetheless, I can give you an example of the use of platform module to get the version of Python. To use a module, use the import keyword:

import platform
py_version = str(platform.python_version())

There is a demo in GLSL Hacker Code Sample Pack that shows the use of the platform module:

GLSL Hacker - Python platform module test

GLSL Hacker – Python platform module test

Like in Lua, Python has a math library:

import math
s = math.sin(radians)
c = math.cos(radians)
p = math.pow(x, y)

There’s also a random module:

import random
# possible values for y: 2, 3, 4 and 5.
y = math.randint(2, 5) 

The string module is also very useful…

Intel Graphics Driver v4501 for Windows

Intel logo
A new set of graphics driver is available for Intel 4th/5th/6th generation GPUs (Haswell, Broadwell and Skylake). This set is not very fresh (released on August 12, 2016) but is the latest available!

Many new features have added for 6th Gen Intel Core processor family (HD Graphics 520/530, Iris 540/550, Iris Pro 580):

– 6th Gen camera pipe Windows* 7 support
– 3 DVI/HDMI displays support on 6th Gen
– LACE: Local Adaptive Contrast Enhancement
– Unify color for different panels
– Support 5K3K Panels with content protection for both Overly and non-Overlay 15.36 drivers for 4th, 5th, 6th Gen and beyond
– User to select which outputs to make active when more display connections are available than can be driven by Intel graphics
– x2 DP mode support in display driver for type-C support

You can download this driver from THIS PAGE.


Intel v4501 - Intel Information CenterIntel v4501 - HD Graphics 530 - GPU Caps Viewer
Intel v4501 - HD Graphics 530 - GPU Caps Viewer - OpenCL panel
Intel v4501 is an OpenGL 4.4 and OpenCL 2.0 driver and exposes 226 OpenGL extensions (GL=205 and WGL=21) for a HD Graphics 530 GPU (Core i5 6600K). There is no Vulkan API support in v4501 ? If you need a Vulkan driver, try the v4404.

- OpenGL vendor: Intel
- OpenGL renderer: Intel(R) HD Graphics 530
- OpenGL Version: 4.4.0 - Build 20.19.15.4501
- GLSL (OpenGL Shading Language) Version: 4.40 - Build 20.19.15.4501

	- GL_EXT_blend_minmax
	- GL_EXT_blend_subtract
	- GL_EXT_blend_color
	- GL_EXT_abgr
	- GL_EXT_texture3D
	- GL_EXT_clip_volume_hint
	- GL_EXT_compiled_vertex_array
	- GL_SGIS_texture_edge_clamp
	- GL_SGIS_generate_mipmap
	- GL_EXT_draw_range_elements
	- GL_SGIS_texture_lod
	- GL_EXT_rescale_normal
	- GL_EXT_packed_pixels
	- GL_EXT_texture_edge_clamp
	- GL_EXT_separate_specular_color
	- GL_ARB_multitexture
	- GL_ARB_map_buffer_alignment
	- GL_ARB_conservative_depth
	- GL_EXT_texture_env_combine
	- GL_EXT_bgra
	- GL_EXT_blend_func_separate
	- GL_EXT_secondary_color
	- GL_EXT_fog_coord
	- GL_EXT_texture_env_add
	- GL_ARB_texture_cube_map
	- GL_ARB_transpose_matrix
	- GL_ARB_internalformat_query
	- GL_ARB_internalformat_query2
	- GL_ARB_texture_env_add
	- GL_IBM_texture_mirrored_repeat
	- GL_ARB_texture_mirrored_repeat
	- GL_EXT_multi_draw_arrays
	- GL_SUN_multi_draw_arrays
	- GL_NV_blend_square
	- GL_ARB_texture_compression
	- GL_3DFX_texture_compression_FXT1
	- GL_EXT_texture_filter_anisotropic
	- GL_ARB_texture_border_clamp
	- GL_ARB_point_parameters
	- GL_ARB_texture_env_combine
	- GL_ARB_texture_env_dot3
	- GL_ARB_texture_env_crossbar
	- GL_EXT_texture_compression_s3tc
	- GL_ARB_shadow
	- GL_ARB_window_pos
	- GL_EXT_shadow_funcs
	- GL_EXT_stencil_wrap
	- GL_ARB_vertex_program
	- GL_EXT_texture_rectangle
	- GL_ARB_fragment_program
	- GL_EXT_stencil_two_side
	- GL_ATI_separate_stencil
	- GL_ARB_vertex_buffer_object
	- GL_EXT_texture_lod_bias
	- GL_ARB_occlusion_query
	- GL_ARB_fragment_shader
	- GL_ARB_shader_objects
	- GL_ARB_shading_language_100
	- GL_ARB_texture_non_power_of_two
	- GL_ARB_vertex_shader
	- GL_NV_texgen_reflection
	- GL_ARB_point_sprite
	- GL_ARB_fragment_program_shadow
	- GL_EXT_blend_equation_separate
	- GL_ARB_depth_texture
	- GL_ARB_texture_rectangle
	- GL_ARB_draw_buffers
	- GL_ARB_color_buffer_float
	- GL_ARB_half_float_pixel
	- GL_ARB_texture_float
	- GL_ARB_pixel_buffer_object
	- GL_ARB_texture_barrier
	- GL_EXT_framebuffer_object
	- GL_ARB_draw_instanced
	- GL_ARB_half_float_vertex
	- GL_ARB_occlusion_query2
	- GL_EXT_draw_buffers2
	- GL_WIN_swap_hint
	- GL_EXT_texture_sRGB
	- GL_ARB_multisample
	- GL_EXT_packed_float
	- GL_EXT_texture_shared_exponent
	- GL_ARB_texture_rg
	- GL_ARB_texture_compression_rgtc
	- GL_NV_conditional_render
	- GL_ARB_texture_swizzle
	- GL_EXT_texture_swizzle
	- GL_ARB_texture_gather
	- GL_ARB_sync
	- GL_ARB_cl_event
	- GL_ARB_framebuffer_sRGB
	- GL_EXT_packed_depth_stencil
	- GL_ARB_depth_buffer_float
	- GL_EXT_transform_feedback
	- GL_ARB_transform_feedback2
	- GL_ARB_draw_indirect
	- GL_EXT_framebuffer_blit
	- GL_EXT_framebuffer_multisample
	- GL_ARB_framebuffer_object
	- GL_ARB_framebuffer_no_attachments
	- GL_EXT_texture_array
	- GL_EXT_texture_integer
	- GL_ARB_map_buffer_range
	- GL_ARB_texture_buffer_range
	- GL_EXT_texture_snorm
	- GL_ARB_blend_func_extended
	- GL_INTEL_performance_query
	- GL_ARB_copy_buffer
	- GL_ARB_sampler_objects
	- GL_NV_primitive_restart
	- GL_ARB_seamless_cube_map
	- GL_ARB_seamless_cubemap_per_texture
	- GL_ARB_uniform_buffer_object
	- GL_ARB_depth_clamp
	- GL_ARB_vertex_array_bgra
	- GL_ARB_shader_bit_encoding
	- GL_ARB_draw_buffers_blend
	- GL_ARB_geometry_shader4
	- GL_EXT_geometry_shader4
	- GL_ARB_texture_query_lod
	- GL_ARB_explicit_attrib_location
	- GL_ARB_draw_elements_base_vertex
	- GL_EXT_shader_integer_mix
	- GL_ARB_instanced_arrays
	- GL_ARB_base_instance
	- GL_ARB_fragment_coord_conventions
	- GL_EXT_gpu_program_parameters
	- GL_ARB_texture_buffer_object_rgb32
	- GL_ARB_compatibility
	- GL_ARB_texture_rgb10_a2ui
	- GL_ARB_texture_multisample
	- GL_ARB_vertex_type_2_10_10_10_rev
	- GL_ARB_vertex_type_10f_11f_11f_rev
	- GL_ARB_timer_query
	- GL_EXT_timer_query
	- GL_ARB_tessellation_shader
	- GL_ARB_vertex_array_object
	- GL_ARB_provoking_vertex
	- GL_ARB_sample_shading
	- GL_ARB_texture_cube_map_array
	- GL_EXT_gpu_shader4
	- GL_ARB_gpu_shader5
	- GL_ARB_gpu_shader_fp64
	- GL_INTEL_fragment_shader_ordering
	- GL_ARB_fragment_shader_interlock
	- GL_ARB_clip_control
	- GL_EXT_shader_framebuffer_fetch
	- GL_ARB_shader_subroutine
	- GL_ARB_transform_feedback3
	- GL_ARB_get_program_binary
	- GL_ARB_separate_shader_objects
	- GL_ARB_shader_precision
	- GL_ARB_vertex_attrib_64bit
	- GL_ARB_viewport_array
	- GL_ARB_transform_feedback_instanced
	- GL_ARB_compressed_texture_pixel_storage
	- GL_ARB_shader_atomic_counters
	- GL_ARB_shading_language_packing
	- GL_ARB_shader_image_load_store
	- GL_ARB_shading_language_420pack
	- GL_ARB_texture_storage
	- GL_EXT_texture_storage
	- GL_ARB_compute_shader
	- GL_ARB_vertex_attrib_binding
	- GL_ARB_texture_view
	- GL_ARB_fragment_layer_viewport
	- GL_ARB_multi_draw_indirect
	- GL_ARB_program_interface_query
	- GL_ARB_shader_image_size
	- GL_ARB_shader_storage_buffer_object
	- GL_ARB_texture_storage_multisample
	- GL_ARB_buffer_storage
	- GL_AMD_vertex_shader_layer
	- GL_AMD_vertex_shader_viewport_index
	- GL_ARB_query_buffer_object
	- GL_EXT_polygon_offset_clamp
	- GL_ARB_clear_texture
	- GL_ARB_texture_mirror_clamp_to_edge
	- GL_ARB_debug_output
	- GL_ARB_enhanced_layouts
	- GL_KHR_debug
	- GL_ARB_arrays_of_arrays
	- GL_ARB_texture_query_levels
	- GL_ARB_invalidate_subdata
	- GL_ARB_clear_buffer_object
	- GL_AMD_depth_clamp_separate
	- GL_ARB_shader_stencil_export
	- GL_INTEL_map_texture
	- GL_ARB_texture_compression_bptc
	- GL_ARB_ES2_compatibility
	- GL_ARB_ES3_compatibility
	- GL_ARB_robustness
	- GL_ARB_robust_buffer_access_behavior
	- GL_EXT_texture_sRGB_decode
	- GL_KHR_texture_compression_astc_ldr
	- GL_KHR_texture_compression_astc_hdr
	- GL_ARB_copy_image
	- GL_KHR_blend_equation_advanced
	- GL_EXT_direct_state_access
	- GL_ARB_stencil_texturing
	- GL_ARB_texture_stencil8
	- GL_ARB_explicit_uniform_location
	- GL_INTEL_multi_rate_fragment_shader
	- GL_ARB_multi_bind
	- GL_ARB_indirect_parameters
	- WGL_EXT_depth_float
	- WGL_ARB_buffer_region
	- WGL_ARB_extensions_string
	- WGL_ARB_make_current_read
	- WGL_ARB_pixel_format
	- WGL_ARB_pbuffer
	- WGL_EXT_extensions_string
	- WGL_EXT_swap_control
	- WGL_EXT_swap_control_tear
	- WGL_ARB_multisample
	- WGL_ARB_pixel_format_float
	- WGL_ARB_framebuffer_sRGB
	- WGL_ARB_create_context
	- WGL_ARB_create_context_profile
	- WGL_EXT_pixel_format_packed_float
	- WGL_EXT_create_context_es_profile
	- WGL_EXT_create_context_es2_profile
	- WGL_NV_DX_interop
	- WGL_INTEL_cl_sharing
	- WGL_NV_DX_interop2
	- WGL_ARB_create_context_robustness

Here is the OpenCL report of GPU Caps Viewer:

- CL_PLATFORM_NAME: Intel(R) OpenCL
- CL_PLATFORM_VENDOR: Intel(R) Corporation
- CL_PLATFORM_VERSION: OpenCL 2.0 
- CL_PLATFORM_PROFILE: FULL_PROFILE
- Num devices: 2
	- CL_DEVICE_NAME: Intel(R) HD Graphics 530
	- CL_DEVICE_VENDOR: Intel(R) Corporation
	- CL_DRIVER_VERSION: 20.19.15.4501
	- CL_DEVICE_PROFILE: FULL_PROFILE
	- CL_DEVICE_VERSION: OpenCL 2.0 
	- CL_DEVICE_TYPE: GPU
	- CL_DEVICE_VENDOR_ID: 0x8086
	- CL_DEVICE_MAX_COMPUTE_UNITS: 24
	- CL_DEVICE_MAX_CLOCK_FREQUENCY: 1150MHz
	- CL_DEVICE_ADDRESS_BITS: 32
	- CL_DEVICE_MAX_MEM_ALLOC_SIZE: 381133KB
	- CL_DEVICE_GLOBAL_MEM_SIZE: 1488MB
	- CL_DEVICE_MAX_PARAMETER_SIZE: 1024
	- CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: 64 Bytes
	- CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: 512KB
	- CL_DEVICE_ERROR_CORRECTION_SUPPORT: NO
	- CL_DEVICE_LOCAL_MEM_TYPE: Local (scratchpad)
	- CL_DEVICE_LOCAL_MEM_SIZE: 64KB
	- CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 64KB
	- CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: 3
	- CL_DEVICE_MAX_WORK_ITEM_SIZES: [256 ; 256 ; 256]
	- CL_DEVICE_MAX_WORK_GROUP_SIZE: 256
	- CL_EXEC_NATIVE_KERNEL: 19808432
	- CL_DEVICE_IMAGE_SUPPORT: YES
	- CL_DEVICE_MAX_READ_IMAGE_ARGS: 128
	- CL_DEVICE_MAX_WRITE_IMAGE_ARGS: 128
	- CL_DEVICE_IMAGE2D_MAX_WIDTH: 16384
	- CL_DEVICE_IMAGE2D_MAX_HEIGHT: 16384
	- CL_DEVICE_IMAGE3D_MAX_WIDTH: 16384
	- CL_DEVICE_IMAGE3D_MAX_HEIGHT: 16384
	- 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: 28
	- Extensions:
		- cl_intel_accelerator
		- cl_intel_advanced_motion_estimation
		- cl_intel_ctz
		- cl_intel_d3d11_nv12_media_sharing
		- cl_intel_dx9_media_sharing
		- cl_intel_motion_estimation
		- cl_intel_simultaneous_sharing
		- cl_intel_subgroups
		- cl_khr_3d_image_writes
		- cl_khr_byte_addressable_store
		- cl_khr_d3d10_sharing
		- cl_khr_d3d11_sharing
		- cl_khr_depth_images
		- cl_khr_dx9_media_sharing
		- cl_khr_fp16
		- cl_khr_gl_depth_images
		- cl_khr_gl_event
		- cl_khr_gl_msaa_sharing
		- cl_khr_global_int32_base_atomics
		- cl_khr_global_int32_extended_atomics
		- cl_khr_gl_sharing
		- cl_khr_icd
		- cl_khr_image2d_from_buffer
		- cl_khr_local_int32_base_atomics
		- cl_khr_local_int32_extended_atomics
		- cl_khr_mipmap_image
		- cl_khr_mipmap_image_writes
		- cl_khr_spir

	- CL_DEVICE_NAME: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz
	- CL_DEVICE_VENDOR: Intel(R) Corporation
	- CL_DRIVER_VERSION: 5.2.0.10094
	- CL_DEVICE_PROFILE: FULL_PROFILE
	- CL_DEVICE_VERSION: OpenCL 2.0 (Build 10094)
	- CL_DEVICE_TYPE: CPU
	- CL_DEVICE_VENDOR_ID: 0x8086
	- CL_DEVICE_MAX_COMPUTE_UNITS: 4
	- CL_DEVICE_MAX_CLOCK_FREQUENCY: 3500MHz
	- CL_DEVICE_ADDRESS_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_SUPPORT: NO
	- CL_DEVICE_LOCAL_MEM_TYPE: Global
	- CL_DEVICE_LOCAL_MEM_SIZE: 32KB
	- CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 128KB
	- CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: 3
	- CL_DEVICE_MAX_WORK_ITEM_SIZES: [8192 ; 8192 ; 8192]
	- CL_DEVICE_MAX_WORK_GROUP_SIZE: 8192
	- CL_EXEC_NATIVE_KERNEL: 19808428
	- CL_DEVICE_IMAGE_SUPPORT: YES
	- CL_DEVICE_MAX_READ_IMAGE_ARGS: 480
	- CL_DEVICE_MAX_WRITE_IMAGE_ARGS: 480
	- 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: 480
	- 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: 1
	- CL_DEVICE_EXTENSIONS: 16
	- 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_byte_addressable_store
		- cl_khr_depth_images
		- cl_khr_3d_image_writes
		- cl_intel_exec_by_local_thread
		- cl_khr_spir
		- cl_khr_dx9_media_sharing
		- cl_intel_dx9_media_sharing
		- cl_khr_d3d11_sharing
		- cl_khr_gl_sharing
		- cl_khr_fp64
		- cl_khr_image2d_from_buffer

MSI VR One: a Pascal-based Gaming PC for VR in a Backpack

MSI VR One - a gaming PC in a backpack
MSI VR One is a gaming PC designed for virtual reality and optimized for the HTC VIVE. The goal of the VR One is to remove the main limitation of current VR systems: you have to stay close to the PC. Thanks to the VR One, you can play VR games without thinking to the cables. The VR one is not a notebook, it’s a real PC.


Update (2016.09.14)
The VR One comes with an high-end Intel Core i7 processor and NVIDIA extreme level GTX 1070 graphics card.

MSI VR One homepage is available HERE.


MSI VR One is the world’s lightest and thinnest backpack PC system. It is sure to have massive impacts on the global VR market by removing the current VR experience limitations of having to stay close to the PC and the monitor due to cables connected. MSI VR One weighs merely 3.6kg. It comes with 2 battery packs and is able to deliver 1.5 hours full speed gameplay. Powered by overclocked CPU and GeForce ® GTX 10 series graphics card, MSI VR One is able to deliver full throttle gaming performance under noise of 40dBA.

Under 3.6kg / 1.5+ hours VR gaming / Non-stop hot swap battery capability

The rest similar products simply can’t compare with MSI VR One in terms of its futuristic look, the chassis’s material quality, the lightweight of 3.6kg, the longevity of its battery life and the non-stop hot swap design. On top of just making the MSI VR One looking good, MSI has paid a great amount of efforts on the ID, the cooling and the interior hardware designs to make sure the highest performance and the best user VR experience of this masterpiece.

MSI VR One is deisgned with an armer pack, a futuristic robot machine style, with 2 battey packs on the bottom right and left of the backpack. Once removing the 2 batteries aside, MSI VR One is merely 2.2 kg in weight. As a stand alone PC system, MSI VR One is even lighter than some performance gaming notebooks. The design is more compact and the performance is even better than any other similar products. Moreover, it is more convenient thanks to the the longevity of its battery life and the non-stop hot swap design. You may play hours of VR games non-stop. For B to B business or VR developpers, the portability and the mobility of MSI VR One is the best solution both for the limitedless VR environment possibilities and the VR content demonstration all around the world.

The Optimized Interface for all VR Gears and Incredibly Silent Cooling system

VR One is fully HTC VIVE Optimized. It comes with 1x HDMI port, 1 Mini DisplayPort and 1 ultra-speed Thunderbolt3 by Type-C port support highest bandwidth for dual 2K displays per eye. All these ports support smoother VR experience with over 90FPS for any high level VR devices. Moreover, there are 4x USB 3.0 ports for more external devices for some VR set requests.

The secret to keep the VR One cool and silent for long sessions of VR experience relies on the cooling system. The cooling design consists of dual 9cm ultra blade fans and 9 heat pipes. Working together, the cooling system easily keeps the VR One silent under 41dBA. The only sound you will hear, therefore, is from your VR headsets. The silent and powerful VR One allows you to immerse yourself totally in the VR world at night without waking up your pets and parents!

The full press-release can be found HERE.


MSI VR One - a gaming PC in a backpack

ASUS GeForce GTX 1080 TURBO Review

 

ASUS GeForce GTX 1080 TURBO Review

ASUS GeForce GTX 1080 TURBO Review

 

1 – Overview

This GTX 1080 TURBO is the simplest GTX 1080 I tested. By simplest, I mean the graphics card comes with a simple VGA cooler (nothing to see with the GTX 1080 Strix!), no factory overclocking and a minimal bundle.

The GTX 1080 TURBO is powered by a Pascal GP104 GPU clocked at 1607MHz (base clock) and 1733MHz (boost clock). Both clock speeds are the reference ones, no out of the box overclocking. The card has 8GB of GDDR5X graphics memory clocked at 10010MHz like NVIDIA reference model.

ASUS GTX 1080 TURBO homepage can be found HERE.

2 – Gallery

The bundle is minimal: the GTX 1080, a user’s guide, a CDROM with drivers + utilities and an invite code for World Warships:

ASUS GeForce GTX 1080 TURBO

ASUS GeForce GTX 1080 TURBO


The GTX 1080 TURBO:

ASUS GeForce GTX 1080 TURBO

ASUS GeForce GTX 1080 TURBO

ASUS GeForce GTX 1080 TURBO


No backplate… not enough expensive to deserve a backplate!


ASUS GeForce GTX 1080 TURBO

The GTX 1080 TURBO comes with one 8-pin power connector: the total power draw can reach 225W (150W + 75W). The TDP of the reference GTX 1080 is 180W. The diameter of the fan: 65mm.


ASUS GeForce GTX 1080 TURBO

Two DisplayPort 1.4, two HDMI 2.0 and one DVI connectors are present.


ASUS GeForce GTX 1080 TURBO

A LED is available to indicate a good power supply (white color=OK, red color=ERROR).


ASUS GeForce GTX 1080 TURBO

The GTX 1080 Turbo versus GTX 1080 Strix.


ASUS GeForce GTX 1080 TURBO

3 – GPU Data


ASUS GeForce GTX 1080 TURBO + GPU Caps Viewer
ASUS GeForce GTX 1080 TURBO + GPU Shark

4 – Benchmarks

Testbed configuration:
– CPU: Intel Core i5 6600K @ 3.5GHz
– Motherboard: ASUS Z170 Pro Gaming
– Memory: 8GB DDR4 Corsair Vengeance LPX @ 2666MHz
– PSU: Corsair AX860i
– Software: Windows 10 64-bit + NVIDIA R376.09

4.1 – 3DMark Sky Diver

29024 – ASUS GeForce GTX 1080 Strix – R368.51
28328 – ASUS GeForce GTX 1080 TURBO – R376.09
26828 – EVGA GeForce GTX 1070 FTW – R376.09
25134 – ASUS GeForce GTX 980 Ti – R353.06
23038 – ASUS GeForce GTX 980 Strix – R344.75
21964 – MSI Radeon R9 290X Gaming – Catalyst 14.9 WHQL
21811 – Gainward GeForce GTX 970 Phantom – R344.75
20274 – EVGA GeForce GTX 780 – R344.75
17570 – MSI Radeon HD 7970 – Catalyst 14.9 WHQL
17533 – EVGA GeForce GTX 680 – R344.75

4.2 – 3DMark Fire Strike

Fire Strike is a Direct3D 11 benchmark for high-performance gaming PCs with serious graphics cards.


3DMark Fire Strike

15583 – ASUS GeForce GTX 1080 Strix – R368.51
14810 – ASUS GeForce GTX 1080 TURBO – R376.09
13438 – EVGA GeForce GTX 1070 FTW – R376.09
12514 – ASUS GeForce GTX 980 Ti – R353.06
10574 – ASUS GeForce GTX 980 Strix – R344.75
9382 – MSI Radeon R9 290X Gaming – Catalyst 14.9 WHQL
8870 – MSI GTX 970 CLASSIC 4GD5T OC – R344.75
8203 – EVGA GeForce GTX 780 – R344.75
6572 – MSI Radeon HD 7970 – Catalyst 14.9 WHQL
6399 – ASUS Strix GTX 960 DC2 OC 4GB – R353.06
6235 – EVGA GeForce GTX 680 – R344.75

4.3 – 3DMark Fire Strike Ultra

5125 (Graphics score: 5330) – ASUS GeForce GTX 1080 Strix – R368.51
4865 – ASUS GeForce GTX 1080 TURBO – R376.09
4244 – EVGA GeForce GTX 1070 FTW – R376.09
2617 (Graphics score: 2592) – MSI GTX 970 CLASSIC 4GD5T OC – R368.69
2178 (Graphics score: 2134) – EVGA GeForce GTX 780 – R368.69

4.4 – 3DMark Time Spy

6393 (Graphics score: 7449) – ASUS GeForce GTX 1080 Strix – R372.54
6162 – ASUS GeForce GTX 1080 TURBO – R376.09
5358 – EVGA GeForce GTX 1070 FTW – R376.09
4177 (Graphics score: 4274) – EVGA GeForce GTX 1060 SC – R368.81
3658 (Graphics score: 3640) – MSI Radeon RX 470 Gaming X – Crimson 16.8.2
3410 (Graphics score: 3382) – MSI GTX 970 CLASSIC 4GD5T OC – R368.69

4.5 – FurMark 1.18

FurMark is an OpenGL 2 benchmark that renders a furry donut. This benchmark is known for its extreme GPU workload.


FurMark
Settings: Preset:1080 (1920×1080)

7151 points (119 FPS) – ASUS GeForce GTX 1080 Strix – R368.51
7063 points (118 FPS) – ASUS GeForce GTX 1080 TURBO – R376.09
6233 points (103 FPS) – ASUS GeForce GTX 980 Ti – R353.06
6143 points (102 FPS) – EVGA GeForce GTX 1070 FTW – R376.09
4660 points (77 FPS) – ASUS GeForce GTX 980 Strix – R344.75
4592 points (76 FPS) – MSI Radeon R9 290X Gaming – Catalyst 14.9 WHQL
4050 points (67 FPS) – EVGA GeForce GTX 780 – R344.75
3335 points (55 FPS) – MSI GTX 970 CLASSIC 4GD5T OC – R344.75
2951 points (49 FPS) – MSI Radeon HD 7970 – Catalyst 14.9 WHQL
2733 points (45 FPS) – EVGA GeForce GTX 680 – R344.75
2566 points (42 FPS) – ASUS Strix GTX 960 DC2 OC 4GB – R353.06

Settings: Preset:2160 (3840×2160)

2715 points (45 FPS) – ASUS GeForce GTX 1080 Strix – R368.51
2624 points (44 FPS) – ASUS GeForce GTX 1080 TURBO – R376.09
2201 points (37 FPS) – EVGA GeForce GTX 1070 FTW – R376.09
1385 points (23 FPS) – EVGA GeForce GTX 780 – R368.69
1339 points (22 FPS) – MSI GTX 970 CLASSIC 4GD5T OC – R368.69

4.6 – Resident Evil 6 Benchmark

Resident Evil 6 (RE6) is a Direct3D 9 benchmark. RE6 benchmark can be downloaded from this page.


Resident Evil 6
Settings: Resolution: 1920 x 1080, anti-aliasing: FXAA3HQ, all params to high.

21410 points – ASUS GeForce GTX 1080 Strix – R372.54
21295 points – ASUS GeForce GTX 1080 TURBO – R376.09
20869 points – EVGA GeForce GTX 1070 FTW ACX3.0 – R376.09
18527 points – EVGA GeForce GTX 1060 SC – R372.54
16332 points – MSI GTX 970 Classic – R353.06
14522 points – MSI Radeon R9 290X Gaming 4GB – Crimson 16.8.2
13789 points – MSI Radeon RX 470 Gaming X 8GB – Crimson 16.8.2
13405 points – EVGA GTX 780 – R353.06
11935 points – ASUS Strix GTX 960 DC2 OC 4GB – R353.06
11442 points – EVGA GTX 680 – R353.06
8794 points – MSI GTX 660 Hawk – R353.06
5714 points – ASUS GTX 750 + R353.06
4495 points – ASUS G551Jw notebook w/ GTX 960M 4GB + R353.06

4.7 – Unigine Valley 1.0

Unigine Valley is a Direct3D/OpenGL benchmark from the same dev team than Unigine Heaven. More information can be found HERE and HERE.


Unigine Valley
Settings: Extreme HD (Direct3D 11, 1920×1080 fullscreen, 8X MSAA)

102.0 FPS, Score: 4269 – ASUS GeForce GTX 1080 Strix – R372.54
101.0 FPS, Score: 4227 – ASUS GeForce GTX 1080 TURBO – R376.09
90.5 FPS, Score: 3788 – EVGA GeForce GTX 1070 FTW ACX3.0 – R376.09
86.1 FPS, Score: 3602 – ASUS GeForce GTX 980 Ti – R353.06
68.0 FPS, Score: 2846 – EVGA GeForce GTX 1060 SC – R372.54
67.8 FPS, Score: 2837 – ASUS GeForce GTX 980 Strix – R344.75
63.3 FPS, Score: 2648 – MSI Radeon R9 290X Gaming – Crimson 16.8.2
58.7 FPS, Score: 2457 – Gainward GeForce GTX 970 Phantom – R344.75
57.8 FPS, Score: 2418 – EVGA GeForce GTX 780 – R344.75
56.0 FPS, Score: 2344 – MSI GTX 970 CLASSIC 4GD5T OC – R344.75
46.4 FPS, Score: 1942 – MSI Radeon RX 470 Gaming X 8GB – Crimson 16.8.2
42.9 FPS, Score: 1796 – EVGA GeForce GTX 680 – R344.75
39.9 FPS, Score: 1668 – MSI Radeon HD 7970 – Catalyst 14.9 WHQL
35.8 FPS, Score: 1500 – ASUS Strix GTX 960 DC2 OC 4GB – R353.06
34.6 FPS, Score: 1446 – EVGA GeForce GTX 580 – R344.75
32.4 FPS, Score: 1358 – MSI GTX 660 Hawk – R353.06
29.3 FPS, Score: 1224 – Sapphire Radeon HD 6970 – Catalyst 14.9 WHQL
25.6 FPS, Score: 1071 – EVGA GeForce GTX 480 – R344.75
19.4 FPS, Score: 812 – ASUS GeForce GTX 750 – R344.75
16.2 FPS, Score: 679 – ASUS Radeon HD 7770 DC – Catalyst 14.9 WHQL

5 – Burn-in Test

Testbed configuration:
– CPU: Intel Core i5 6600K @ 3.5GHz
– Motherboard: ASUS Z170 Pro Gaming
– Memory: 8GB DDR4 Corsair Vengeance LPX @ 2666MHz
– PSU: Corsair AX860i
– Software: Windows 10 64-bit + NVIDIA R376.09

At idle state, the total power consumption of the testbed is 38W. The GPU temperature is 30°C. The VGA cooler is barely audible but we can hear it (open case).

To stress test the GTX 1080 TURBO, I’m going to use the latest FurMark 1.18.2. A resolution of 1024×768 is enough to stress test the graphics card.

The first stress test is done with the default power target: 100%TDP. After 5 minutes, the total power consumption of the testbed was 233W and the GPU temperature was 79°C.

Before starting the second stress test, I quickly launched MSI Afterburner and set the power target to the maximal value. For this GTX 1080 TURBO, the max value is 120%TDP. Now results are a bit different: the total power consumption jumped to 267W and the GPU temperature reached 83°C. The VGA cooler was noisy…


ASUS GeForce GTX 1080 TURBO - FurMark stress test

An approximation of the graphics card power consumption is:

P = (267 – 38 – 20) x 0.9
P = 188W @ 120%TDP

where 0.9 the the power efficiency factor of the Corsair AX860i PSU, and 20W is the additional power draw of the CPU.

Thermal Imaging

Idle state


ASUS GeForce GTX 1080 TURBO - Thermal imaging - idle state

Load state


ASUS GeForce GTX 1080 TURBO - Thermal imaging - stress test

6 – Conclusion

This GTX 1080 TURBO is a basic GTX 1080. The performances are good and in the expected range for a GTX 1080 but that’s all. The card has a cheap VGA cooler: at idle the noise is barely audible (good!) but under heavy load, the cooler is noisy (not good!!). And the 0dB fan technology we can find on other models? Not present… This kind of VGA cooler should not be there: it’s a GTX 1080 and a high-end graphics card based on a GP104 GPU deserves a decent VGA cooler.

The GPU temperature at idle state is good (30°C) but can exceed 80°C on load. There is no backplate for mechanical protection and heat dissipation. Compared to other models like the GTX 1080 Strix, this card is cheaper. So if you really need a GTX 1080 for its graphics performances but you don’t want to spend too much money, this is your card.

Now if you hesitate, maybe a graphics card like the EVGA GTX 1070 FTW would be a better choice: very good performances, noiseless and cheaper…


ASUS GeForce GTX 1080 TURBO
Thanks to Internex for this ASUS GTX 1080 Turbo!

Simple Video Player for Raspberry Pi

Simple Video Player on Raspberry Pi

Simple Video Player on Raspberry Pi

Did you know that you can easily code an audio video player with the latest version 0.8.4 of GLSL Hacker ? This is possible thanks to the FFmpeg plugin that can now read audio and video frames and synchronize them. The FFmpeg plugin is available with all versions of GLSL Hacker: Windows, Linux, OS X and, of course, Raspberry Pi.

I prepared an archive file for Raspberry Pi with a ready-to-use video player named vplay. vplay is simply GLSL Hacker that has been renamed in vplay. The full source code in Lua is included in the download (in the audio_video/ folder):


In a word, vplay is a video player based on GLSL Hacker that uses FFmpeg to decode audio-video files, OpenMAX to play the decoded audio buffer and OpenGL ES to display the decoded video frames.

Playing a video with vplay is simple. Open a terminal in vplay folder and pass the absolute path to the video file:

$ vplay /video=\"video_file_absolute_path\"

A concrete example:

$ vplay /video=\"/home/pi/mykoolvideo.mp4\"

You can also force the resolution and fullscreen mode like this:

$ vplay /width=1920 /height=1080 /fullscreen /video=\"/home/pi/mykoolvideo.mp4\"

/width, /height and /fullscreen are command line parameters of GLSL Hacker and are not specific to VPlay demo.

By default, the video is played on a quad with an orthographic camera (a 2D camera). But vplay can be easily tweaked to play the video on another kind of support like a 3D box. After all, in a FRAME script, a video is just a simple 2D texture that can be mapped (like any other texture) on any 3D object. I added a command line parameter /usebox (you can add other params by parsing the command line in Lua, look for the gh_utils.get_command_line() function in the source code of the demo, line 167) to play the video using a 3D cube and a perspective camera:

$ vplay /video=\"/home/pi/mykoolvideo.mp4\" /usebox

And the result:

Simple Video Player on Raspberry Pi

Simple Video Player on Raspberry Pi

The video played on a 3D cube

And since the video is a simple 2D texture, you can play with the uv tiling factor in the pixel shader (line 31 and 388 of the xml file):

Simple Video Player on Raspberry Pi

Simple Video Player on Raspberry Pi

The video played on a quad with a texture tiling factor of 2.0

If you are interested about how vplay works, here are some code snippets that show how to use the audio-video functions of the FFmpeg plugin (Lua or Python) in GLSL Hacker:

INIT script:

-- Opening of the video file.
av1 = gh_av.decoder_open(av_filename, loop_mode)

-- video resolution. 
video_width, video_height = gh_av.video_get_resolution(av1)

-- Creation of a 2D texture with correct resolution (width x height). 
video_tex = gh_av.video_init_texture(av1, PF_U8_RGB)

-- Starting of the audio-video processing thread.
gh_av.start_audio_video_processing(av1, update_video, update_audio)

FRAME script:

-- Binding of the video texture and updating from the current video frame.
gh_texture.bind(video_tex, 0)
gh_av.video_update_texture(av1, video_tex)

-- Now the texture can be mapped on any mesh.

TERMINATE script:

-- Stopping of the audio-video processing thread.
gh_av.stop_audio_video_processing(av1)

-- Closing of the video file.
gh_av.decoder_close(av1)

The full source code is in the archive, so do not hesitate to hack it!

Raspbian Jessie Updated with a new Desktop Environment called PIXEL

Raspbian PIXEL desktop environment

Raspbian PIXEL desktop environment

The Raspberry Pi team has released a new version of Raspbian Jessie that comes with a new desktop environment called PIXEL. PIXEL stands for Pi Improved Xwindows Environment, Lightweight. PIXEL follows OS X or Windows 10 desktop with a flat-design approach.

Raspbian PIXEL desktop environment - flat design icons

Raspbian PIXEL desktop environment – flat design icons

Raspbian PIXEL desktop environment - GeeXLab OpenGL 2.1

Raspbian PIXEL desktop environment – GeeXLab OpenGL 2.1


Jessie has an OpenGL 2.1 driver and the version is still 2.1 Mesa 11.1.0 like on previous Jessie versions.

This new version of Raspbian packs some nice wallpapers to customize a bit the desktop:

Raspbian PIXEL desktop environment - flat design icons

Raspbian PIXEL desktop environment – flat design icons


The web browser of the previous versions of Raspbian Jessie has been replaced by Chromium. This is very cool because, I can now watch youtube videos on the RPi, thing that I was not able to enjoy with the old browser. The Chromium browser comes with 2 extensions: the h264ify (which forces YouTube to serve videos in a format accelerated by the RPi hardware) and an ad blocker: uBlock Origin.

Raspbian PIXEL desktop environment - Chromium browser

Raspbian PIXEL desktop environment – Chromium browser


This update of Raspbian brings a modern look to the desktop but I felt a kind of sluggishness (I tested Jessie/PIXEL on a Raspberry Pi 3): the system is not as fast as the previous version of Jessie and is often hung for several seconds. I hope a next update will improve my Jessie PIXEL experience.



Update (2016.10.28): it looks like the microSD (a Transcend Ultimate 16GB) card was the root of all sluggishnesses and hangs. I use this card since one year with the Raspberry Pi and the card has probably reached its limit in matter of read/write operations (I compile GeeXLab directly on the microSD card which can be an explanation).

I replaced the Transcend 16GB by a new Samsung 32GB EVO Plus (read: 80MB/s, write 20MB/s) and the new Raspbian with PIXEL works like a charm!

GPU Caps Viewer 1.34.0 Released

A new version of GPU Caps Viewer (OpenGL, Vulkan, OpenCL and CUDA utility) is available.

GPU Caps Viewer 1.34.0 Released

GPU Caps Viewer 1.34.0 Released

1 – Overview

GPU Caps Viewer 1.34.0 adds the support of the latest GeForce GTX 1080 Ti, Radeon RX 580, RX 570 and RX 560 (based on Polaris 10/11 GPUs) as well as Radeon Pro WX 7100, WX 5100 and WX 4100.

New Vulkan and OpenGL demos (based on GeeXLab engine) have been added in the 3D demos panel:


GPU Caps Viewer 1.34 + new GeeXLab demos
All GeeXLab demos can now be launched using the command line:

GpuCapsViewer.exe /demo_win_width=1920 /demo_win_height=1080
/demo_fullscreen /run_gxl_demo=vk_shadertoy_geomechanical
/benchmark_log_results /benchmark_duration=10000 /demo_msaa=0
/vk_gpu_index=0

Command line parameters can be found in the _run_geexlab_benchmark.bat file available in GPU Caps Viewer folder. The benchmark results are saved in a CSV file (_gxl_benchmark_results.csv).


GPU Caps Viewer 1.34 + new GeeXLab demos

Another change brought to GPU Caps concerns the UAC (User Account Control) execution level that has been reset to the default value (as invoker). The previous UAC level (administrator) didn’t work well with launching demos via the command line.

GPU Caps Viewer 1.33 + GeForce GTX 1060

GPU Caps Viewer 1.33 + GeForce GTX 1060

All Vulkan code has been recompiled with latest Vulkan headers (v1.0.45).


>> Update: 2017.04.29 <<

GPU Caps Viewer 1.34.3.1 is a maintenance release and comes with a new VK-Z version. VS2015 generates some strange patterns in the 32-bit version of VK-Z and no matter the way I compile VK-Z, the 32-bit version of VK-Z is still flagged as infected by some antivirus. The 64-bit version of VK-Z is clean so I just replaced the 32-bit version by the 64-bit one. GPU Caps Viewer has been updated to execute VK-Z x64 on Windows 64-bit only…

>> Update: 2017.04.26 <<

GPU Caps Viewer 1.34.3.0 is a maintenance release and improves the detection of recent AMD Radeon GPUs (RX 580, RX 570, RX 480 and RX 470). GPU Shark has been updated to version 0.9.11.4. VK-Z has been updated to version 0.6.0.5 32-bit (it has been recompiled with other compilation options in order to avoid false positive detection with antivirus. I really don’t understand this pesky problem!).

>> Update: 2017.04.16 <<

GPU Caps Viewer 1.34.2.1 is available with VK-Z 0.6.0.3. The previous 32-bit version of VK-Z was detected as infected by some antivirus scanners. Now VK-Z 32-bit is clean for Nod32, Avira, Avast, Kaspersky, AVG, Norton, and MacAfee.

>> Update: 2017.04.14 <<

GPU Caps Viewer 1.34.2.0 adds the support of NVIDIA TITAN Xp. GPU Shark and VK-Z have been updated to their latest versions.

>> Update: 2017.04.01 <<

GPU Caps Viewer 1.34.1.0 improves the detection of AMD Radeon GPUs in some systems that include Intel iGPU + AMD Radeon GPU. A new GeeXLab/OpenGL demo has been added (Alien Corridor).

GPU Caps Viewer 1.34.1

GPU Caps Viewer 1.34.1


2 – Dowloads

2.1 – Portable version (zip archive – no installation required):

2.2 – Win32 installer:

For any feedback or bug report, a thread on Geeks3D forums is available HERE.

 

3 – What is GPU Caps Viewer?

GPU Caps Viewer is a graphics card information utility focused on the OpenGL, Vulkan, OpenCL and CUDA API level support of the main (primary) graphics card. For Vulkan, OpenCL and CUDA, GPU Caps Viewer details the API support of each capable device available in the system. GPU Caps Viewer offers also a simple GPU monitoring facility (clock speed, temperature, GPU usage, fan speed) for NVIDIA GeForce and AMD Radeon based graphics cards. GPU data can be submitted to an online GPU database.


GPU Caps Viewer panels

4 – Changelog

Version 1.34.3.1 – 2017.04.29
! replaced VK-Z 0.6.0.5 32-bit by VK-Z 0.6.0.3 64-bit.
VK-Z 64-bit does not produce false positive with some
antivirus. VK-Z 64-bit is only executed on Windows 64-bit.

Version 1.34.3.0 – 2017.04.20
! improved detection of Radeon RX 580, RX 570,
RX 480 and RX 470.
! updated: GPU Shark 0.9.11.4
! updated: VK-Z 0.6.0.5
! updated: ZoomGPU 1.20.4 (GPU monitoring library).

Version 1.34.2.1 – 2017.04.16
! updated: VK-Z 0.6.0.3

Version 1.34.2.0 – 2017.04.14
+ added support of NVIDIA TITAN Xp.
! updated Radeon RX 560 shader cores.
! updated: VK-Z 0.6.0
! updated with GeeXLab SDK libs.
! updated: GPU Shark 0.9.11.3
! updated: ZoomGPU 1.20.3 (GPU monitoring library).

Version 1.34.1.0 – 2017.04.01
! improves the detection of AMD Radeon GPUs in some systems
that include Intel iGPU + AMD Radeon GPU.
+ added new OpenGL demo (GeeXLab): Alien Corridor (based on this demo).
Command line demo codename: gl21_shadertoy_mp_alien_corridor
! updated: GPU Shark 0.9.11.2
! updated: ZoomGPU 1.20.2 (GPU monitoring library).

Version 1.34.0.0 – 2017.03.25
+ added support of the GeForce GTX 1080 Ti.
+ added support of AMD Radeon RX 580, RX 570 and RX 560.
+ added support of AMD Radeon Pro WX 7100, WX 5100, WX4100,
WX 4150 and WX 4130.
+ added initial support of AMD Polaris 12 and Vega 10 based videocards.
+ added new parameters for launching GeeXLab demos via the command line.
+ added new Vulkan and OpenGL demos (GeeXLab): Vulkan geomechanical (based on this demo), OpenGL rainforest (based on this demo), OpenGL radialblur (based on this demo), OpenGL rhodium (based on this demo), OpenGL cell shading, OpenGL geometry instancing, OpenGL gs mesh exploder.
! set UAC (User Account Control) execution level to as invoker.
! recompiled with latest Vulkan API headers (v1.0.45).
! updated with latest GeeXLab SDK libs.
! updated: GPU Shark 0.9.11.1
! updated: ZoomGPU 1.20.1 (GPU monitoring library).

NVIDIA TITAN Xp vs TITAN X

NVIDIA TITAN Xp

NVIDIA TITAN Xp

NVIDIA has more or less silently launched a new high end graphics card around 10 days ago. Here are some pictures of the TITAN Xp versus the TITAN X (launched last year), both gaming cards being based on a Pascal GP102 GPU…

The TITAN Xp is based on a full GP102 GPU with 3840 CUDA cores while the TITAN X has only 3584 CUDA cores. The TITAN Xp has 240 texture units while the TITAN X has 224 texture units. Both cards have the same number of ROPs (96) and the same amount of memory: 12GB of GDDR5X.

On the physical side, there are few differences between the TITAN Xp and the TITAN X. NVIDIA has not changed the name on the VGA shroud: TITAN X for both cards…

NVIDIA TITAN Xp

NVIDIA TITAN Xp


The only things that distinguish both cards are the box, the PCB color (brown for the Xp) and the DVI connector (the Xp has no DVI connector):

NVIDIA TITAN Xp vs TITAN X

NVIDIA TITAN Xp vs TITAN X

NVIDIA TITAN Xp vs TITAN X

NVIDIA TITAN Xp vs TITAN X

NVIDIA TITAN Xp vs TITAN X

NVIDIA TITAN Xp vs TITAN X

NVIDIA TITAN Xp vs TITAN X

NVIDIA TITAN Xp vs TITAN X


The TITAN Xp alone:

NVIDIA TITAN Xp

NVIDIA TITAN Xp

NVIDIA TITAN Xp

NVIDIA TITAN Xp

FurMark 1.19.0 Released

 

FurMark, stress test session

FurMark, stress test session

A maintenance release of FurMark, the popular GPU stress test utility, is available.

1 – Release highlights

FurMark 1.19.0 adds the support of recent NVIDIA GPUs (GeForce GTX 1080 Ti, TITAN Xp) as well as AMD Radeon RX 500 series (RX 580 and RX 570). The GPU monitoring library has been updated with the latest iteration of the NVAPI and GPU Shark + GPU-Z have been updated to their latest versions.

 

FurMark, stress test session

FurMark, stress test session

 

2 – Download

You can download FurMark from the following link:

AMD Ryzen Downcore Control

 

AMD Ryzen 7 processor

AMD Ryzen Downcore Control

AMD Ryzen 7 processors comes with a nice feature: the downcore control. This feature allows to enable / disable cores. Ryzen 7 and Ryzen 5 chips use the same die, which is made up of two CCX (Cpu CompleX), each CCX having 4 cores. So disabling cores on Ryzen 7 makes it possible to emulate a Ryzen 5 CPU.

 

AMD Ryzen CCX

AMD Ryzen CCX

The downcore control is an option available in the BIOS of X370 motherboards (maybe on other chipsets like the B350 too, I don’t know).

Here is the downcore control in the MSI X370 Gaming Pro Carbon BIOS:

 

MSI X370 Gaming Pro Carbon - Downcore control in the BIOS

MSI X370 Gaming Pro Carbon – Downcore control in the BIOS

 

A Ryzen 7 CPU has two CCX with all cores enabled (8 cores or 8C/16T). It’s a HEIGHT (4 + 4) or Auto configuration:

1 2 3 4
1 2 3 4

 

AMD Ryzen 7 Downcore control - Auto

AMD Ryzen 7 Downcore control – Auto

A Ryzen 5 1600 or 1600X has two CCX and 6 cores (6C/12T) enabled:

SIX (3 + 3)

1 2 3 4
1 2 3 4

 

AMD Ryzen 7 Downcore control - SIX (3 + 3)

AMD Ryzen 7 Downcore control – SIX (3 + 3)

A Ryzen 5 1400 or 1500X has two CCX and 4 cores (4C/8T) enabled. This can be emulated on a Ryzen 7 with two configurations: FOUR (2 + 2) or FOUR (4 + 0).

FOUR (2 + 2)

1 2 3 4
1 2 3 4

FOUR (4 + 0)
This configuration is interesting because it uses only one CCX and avoids CCX inter-connection issues (mainly the slowness: two cores on different CCX can communicate at around 30GB/s –via Ryzen Infinity Fabric which depends on the memory controller clock speed– while two cores on the same CCX can communicate at 175GB/s).

1 2 3 4
1 2 3 4

 

AMD Ryzen 7 Downcore control - FOUR (2 + 2)

AMD Ryzen 7 Downcore control – FOUR (2 + 2)

The downcore control allows to emulate 3C/6T and 2C/4T CPUs (Ryzen 3?) with the following configurations:

THREE (3 + 0)

1 2 3 4
1 2 3 4

 

AMD Ryzen 7 Downcore control - THREE (3 + 0)

AMD Ryzen 7 Downcore control – THREE (3 + 0)

TWO (1 + 1)

1 2 3 4
1 2 3 4

TWO (2 + 0)

1 2 3 4
1 2 3 4

 

AMD Ryzen 7 Downcore control - TWO (1 + 1)

AMD Ryzen 7 Downcore control – TWO (1 + 1)

 

1 2 3 14


Popular Pages
Popular posts
Interested
About me

My name is Sayed Ahmadreza Razian and I am a graduate of the master degree in Artificial intelligence .
Click here to CV Resume page

Related topics such as image processing, machine vision, virtual reality, machine learning, data mining, and monitoring systems are my research interests, and I intend to pursue a PhD in one of these fields.

جهت نمایش صفحه معرفی و رزومه کلیک کنید

My Scientific expertise
  • Image processing
  • Machine vision
  • Machine learning
  • Pattern recognition
  • Data mining - Big Data
  • CUDA Programming
  • Game and Virtual reality

Download Nokte as Free


Coming Soon....

Greatest hits

One day you will wake up and there won’t be any more time to do the things you’ve always wanted. Do it now.

Paulo Coelho

Anyone who has never made a mistake has never tried anything new.

Albert Einstein

Gravitation is not responsible for people falling in love.

Albert Einstein

The fear of death is the most unjustified of all fears, for there’s no risk of accident for someone who’s dead.

Albert Einstein

Imagination is more important than knowledge.

Albert Einstein

Waiting hurts. Forgetting hurts. But not knowing which decision to take can sometimes be the most painful.

Paulo Coelho

You are what you believe yourself to be.

Paulo Coelho

It’s the possibility of having a dream come true that makes life interesting.

Paulo Coelho


Site by images
Statistics
  • 2,319
  • 10,075
  • 92,535
  • 25,499
Recent News Posts