Screen Issues Connecting to 4K Resolution Monitors

  • Calculate the video memory that is required for all monitors using the following formula:

    Sum of total monitors (Width * Height * 8) where width and height are resolution of the monitor.

    To get a visualization of the video memory required and size up the MaxVideoMemoryBytes for your specific environment, download sysinternals process explorer and observe the GPU Dedicated Memory graph (View > System Information, or Ctrl+I > GPU tab) inside an active Citrix connection:

    User-added image

    User-added image

  • Related:

    GPU Acceleration Shifts Into High Gear

    Dell Technologies is adding the latest NVIDIA A100 Tensor Core graphics processing unit (GPU) in PowerEdge server solutions starting later this summer. These GPUs deliver unprecedented acceleration and flexibility for artificial intelligence, data analytics and high performance computing to meet ever-growing processing needs. The A100 expands Dell Technology’s wide range of solutions with NVIDIA GPUs, software and technologies enabling customers to accelerate workloads from edge to core to cloud. Faster time to discovery, insight and innovation Data scientists, researchers and engineers are focused on solving tough analytics, scientific and industrial challenges. They are driven to find … READ MORE

    Related:

    To the Edge and Beyond: What Does a Programmable Fabric Look Like?

    In the first blog in this series we talked about programmable fabrics and their use causes. In this blog we’ll look at what a programmable fabric actually looks like. The following diagram shows the high-level architecture of a programmable fabric: The programmable fabric can be broken down into two main layers, the control plane and the data plane. Control Plane Layer The control plane layer is responsible for configuring and managing the data plane and is normally more centrally located, i.e., one per PoP or region. The control plane is normally divided into three separate domains … READ MORE

    Related:

    Meet Groq — and Its Amazing Tensor Processing Unit

    A young California company has launched a simplified processing architecture with software-orchestrated control to bring predictable performance to compute-intensive workloads. One of the great things about working for a world-class company like Dell EMC is the chance to get a close-up view of startup companies that are bringing exciting new technologies to the market. This is the case with a company called Groq, a Silicon Valley startup that offers a groundbreaking streaming Tensor Processing Unit (TPU) architecture for compute-intensive and inferencing workloads. Known as a “secretive semiconductor startup,” Groq is focused on helping organizations overcome some … READ MORE

    Related:

    Linux Virtual Desktop Graphics Configuration and Troubleshooting

    Introduction

    This document serves a guide for Linux VDA 1.3 Graphics configuration and fine-tuning. For system requirements and installation guide, please refer to Linux VDA Installation Guide on Citrix Documentation.

    Configuration Parameters

    There are quite a few configuration parameters under HKLMSystemCurrentControlSetControlCitrixThinwire regrading to graphics that can be tuned with ctxreg utility.

    How to Enable Thinwire Plus

    Thinwire plus is enabled by default, for both standard VDA and 3D Pro.

    How to Enable H.264

    In addition to the Operating System requirement, H.264 has minimum requirement on Receiver version, if client does not meet the requirements, it will fallback to thinwire plus.

    OS Windows Mac OS X Linux Android iOS Chrome OS
    Minimum requirement for H.264 3.4 or later 11.8 or later 13.0 or later 3.5 5.9 1.4

    Latest Receiver feature matrix is available here.

    Run the following command to advertise H.264 encoding in VDA:

    sudo ctxreg create -k “HKLMSystemCurrentControlSetControlCitrixThinwire” -t “REG_DWORD” -v “AdvertiseH264” -d “0x00000001” –force

    How to Enable Hardware Encoding in HDX 3D Pro

    For HDX 3D Pro setting AdvertiseH264 only enables software H.264 encoding. Run this command to enable hardware encoding:

    sudo ctxreg create -k “HKLMSystemCurrentControlSetControlCitrixThinwire” -t “REG_DWORD” -v “HardwareEncoding” -d “0x00000001” –force

    Note: Currently, hardware encoding only supports H.240 YUV420P.

    How to Tune Thinwire Plus for Lower bandwidth

    • MaxColorDepth

      Default 0x20, type DWORD.

      This option specifies the color depth of graphics transferred through thinwire protocol to client.

      To save bandwidth, set it to 0x10 (Preferred color depth for simple graphics) or 0x8 (the experimental low bandwidth mode).

    • Quality

      Visual quality

      Default: 0x1(medium), type: DWORD, valid values: 0x0(low), 0x1(medium), 0x2(high), 0x3(build to lossless), 0x4 always lossless.

      To save bandwidth, set Quality to 0x0(low).

    Additional parameters

    • TargetFPS

      Target frame rate

      Default: 0x1e (30), Type: DWORD

    • MinFPS

      Target minimum frame rate

      Default: 0xa (10), Type: DWORD

    • MaxScreenNum

      Maximum number of Monitors client can have

      Default: 0x2, Type: DWORD

      For standard VDA, the maximum value can set is 10, and for 3D Pro, the maximum value can set is 4

    Troubleshooting

    Check which encoding is in use

    Use the following command to check whether H.264 encoding is in use (1 means H.264 and 0 means TW+):

    sudo ctxreg dump | grep H264

    The results should resemble:

    create -k “HKLMSoftwareCitrixIcaSession1Graphics” -t “REG_DWORD” -v “H264” -d “0x00000001” –force

    create -k “HKLMSystemCurrentControlSetControlCitrixThinwire” -t “REG_DWORD” -v “AdvertiseH264” -d “0x00000001” –force

    Check whether hardware encoding is in use for 3D pro

    Run this command (0 means not in use, 1 means in use):

    sudo ctxreg dump | grep HardwareEncoding

    The results should resemble:

    create -k “HKLMSoftwareCitrixIcaSession1Graphics” -t “REG_DWORD” -v “HardwareEncoding” -d “0x00000001” –force

    Another way is to use nvidia-smi command, output should be like the following if hardware encoding in use:

    nvidia-smi

    Tue Apr 12 10:42:03 2016

    +——————————————————+

    | NVIDIA-SMI 361.28 Driver Version: 361.28 |

    |——————————-+———————-+———————-+

    | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |

    | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |

    |===============================+======================+======================|

    | 0 GRID K1 Off | 0000:00:05.0 Off | N/A |

    | N/A 42C P0 14W / 31W | 207MiB / 4095MiB | 8% Default |

    +——————————-+———————-+———————-+

    +—————————————————————————–+

    | Processes: GPU Memory |

    | GPU PID Type Process name Usage |

    |=============================================================================|

    | 0 2164 C+G /usr/local/bin/ctxgfx 106MiB |

    | 0 2187 G Xorg 85MiB |

    +—————————————————————————–+

    Check the NVIDIA GRID™ graphics driver is installed correctly

    In order to verify if the NVIDIA GRID™ graphics driver is installed correctly, run “nvidia-smi”; the results should resemble:

    nvidia-smi

    +——————————————————+

    | NVIDIA-SMI 352.70 Driver Version: 352.70 |

    |——————————-+———————-+———————-+

    | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |

    | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |

    |===============================+======================+======================|

    | 0 Tesla M60 Off | 0000:00:05.0 Off | Off |

    | N/A 20C P0 37W / 150W | 19MiB / 8191MiB | 0% Default |

    +——————————-+———————-+———————-+

    +—————————————————————————–+

    | Processes: GPU Memory |

    | GPU PID Type Process name Usage |

    |=============================================================================|

    | No running processes found |

    +—————————————————————————–+

    In some cases, e.g. the GPU pass through case, the output indicates that the video card is not loaded correctly. This may caused by the following script:

    /etc/X11/ctx-nvidia.sh

    • check the BusID in /etc/X11/ctx-nvidia-*.conf, if the BusID of Secion “Device” is like the following. It could be incorrect.

    BusID “PCI:0:0:0”

    • check the output of lspci, find the video card you are going to choose, in the following case, the device shall use PCI:0:5:0, which is different form the ctx-nvidia-*.conf file.

    00:05.0 3D controller: NVIDIA Corporation Device xxxx (rev xx)

    In this situation, the ctx-nvidia-*.conf are not configured correctly. You shall modify the script /etc/X11/ctx-nvidia.sh of line, to get correct gpu line according to the output of lspci

    gpu=$(lspci | grep ‘VGA’ | grep ‘NVIDIA’)

    When you modified the script, run the script by root again. So the /etc/X11/ctx-nvidia-*.conf are with the correct BusID.

    You need to reboot Linux to make modification take effect.

    HDX 3D Pro multi-monitor redraw issues

    If you are seeing redraw issues on screens other than the primary monitor check that the NVIDIA GRID™ license is available.

    Check Xorg error logs

    The log file of Xorg is named like Xorg.{DISPLAY}.log under /var/log/ folder.

    Related:

    Bringing Desktop Virtualization to the Enterprise in a Big Way!

    As business users become more comfortable and even dependent on mobile computing, virtual desktops have seen a resurgence as a way to serve users the resources they need, where they need them and in a secure managed environment. These objectives are only further complicated by larger trends in end-user computing such as the continued migration to Windows 10, further adoption of GPU-accelerated applications, and a growing, just-in-time and remote workforce. With the launch of Ready Solutions for VDI on VxBlock, you can easily deploy virtual desktops on one of the leading converged infrastructure platforms available. At … READ MORE

    Related:

    Dell EMC and NVIDIA Announce General Availability of Isilon with NVIDIA DGX-1 Reference Architecture Solution Through EMEA Partners

    Today, Dell EMC Isilon and NVIDIA’s joint reference architecture is now commercially available in EMEA as an integrated turnkey AI solution sold through our joint strategic channel partners. Pairing Dell EMC’s scale-out All-Flash Isilon F800 with the NVIDIA DGX-1 system, this solution simplifies and accelerates AI deployments with a jointly validated reference architecture. This architecture complements the Dell EMC Ready Solutions that leverage the powerful NVIDIA V100 Tensor Core GPUs inside the Dell EMC PowerEdge C4140, DSS8440 and PowerEdge R940 servers to offer customers unparalleled design flexibility to meet their AI computing needs. Artificial intelligence (AI) represents … READ MORE

    Related:

    Citrix ADC Integrated Caching Counters

    This article contains information about the newnslog Integrated Caching counters and a brief description of the counters.

    Using the Counters

    Log on to the ADC using an SSH client, change to SHELL, navigate to the /var/nslog directory, and then use the ‘nsconmsg’ command to see comprehensive statistics using the different counters available. For the detailed procedure refer to Citrix Blog – NetScaler ‘Counters’ Grab-Bag!.

    The newnslog Integrated Caching counters

    The following table lists the different newnslog Integrated Caching counters and a brief description of the counter.

    newnslog Counter

    Description

    cac_tot_req

    Total cache hits plus the total cache misses.

    cac_cur_pcb_hit

    This number should be close to the number of hits being served currently.

    cac_tot_non304_hit

    Total number of full (non-304) responses served from the cache. A 304 status code indicates that a response has not been modified since the last time it was served.

    cac_tot_304_hit

    Object not modified responses served from the cache.

    (Status code 304 served instead of the full response.)

    cache_tot_hits

    Responses served from the integrated cache. These responses match a policy with a CACHE action.

    cache_percent_304_hits

    304 responses as a percentage of all responses that the NetScaler appliance served.

    cache_percent_hits

    Cache hits as percentage of the total number of requests.

    cache_recent_percent_304_hits

    Recently recorded ratio of 304 hits to all hits expressed as percentage

    cache_recent_percent_hit

    Recently recorded cache hit ratio expressed as percentage.

    cac_cur_pcb_miss

    Responses fetched from the origin and served from the cache. Should approximate storable misses. Does not include non-storable misses.

    cache_tot_misses

    Intercepted HTTP requests requiring fetches from origin server.

    cache_tot_storable_misses

    Cache misses for which the fetched response is stored in the cache before serving it to the client. Storable misses conform to a built-in or user-defined caching policy that contains a CACHE action.

    cache_tot_non_storable_misses

    Cache misses for which the fetched response is not stored in the cache. These responses match policies with a NOCACHE action or are affected by Poll Every Time.

    cache_tot_revalidation_misses

    Responses that an intervening cache revalidated with the integrated cache before serving, as determined by a Cache-Control: Max-Age header configurable in the integrated cache.

    cache_tot_full_to_conditional_request

    Number of user-agent requests for a cached Poll Every Time (PET) response that were sent to the origin server as conditional requests.

    cache_percent_storable_miss

    Responses that were fetched from the origin, stored in the cache, and then served to the client, as a percentage of all cache misses.

    cache_recent_percent_storable_miss

    Recently recorded ratio of storable misses to all misses expressed as percentage.

    cache_percent_successful_reval

    Percentage of times stored content was successfully revalidated by a 304 (Object Not Modified) response rather than by a full response

    cache_recent_percent_successful

    _reval

    Recently recorded percentage of times stored content was successfully revalidated by a 304 response rather than by a full response

    cache_tot_successful_revalidation

    Total number of times stored content was successfully revalidated by a 304 Not Modified response from the origin.

    cache_percent_byte_hit

    Bytes served from the cache divided by total bytes served to the client. If compression is On in the NetScaler, this ratio might not reflect the bytes served by the compression module. If the compression is Off, this ratio is the same as cachePercentOriginBandwidthSaved.

    cache_recent_percent_byte_hit

    Recently recorded cache byte hit ratio expressed as percentage. Here we define byte hit ratio as ((number of bytes served from the cache)/(total number of bytes served to the client)). This is the standard definition of Byte Hit Ratio. If the compression is turned ON in the NetScaler appliance, then this ratio does not mean much. This might under or overestimate the origin-to-cache bandwidth saving depending upon whether bytes served by CMP in NetScaler are more or less than compressed bytes served from the cache. If CMP is turned OFF in the NetScaler appliance, then this ratio is the same as cacheRecentPercentOriginBandwidthSaved.

    cactor_max32_res_so_far

    Size, in bytes, of largest response sent to client from the cache or the origin server.

    cache_tot_resp_bytes

    Total number of HTTP response bytes served by the NetScaler appliance from both the origin and the cache.

    cache_bytes_served

    Total number of bytes served from the Integrated Cache.

    cache_comp_bytes_served

    Number of compressed bytes served from the cache.

    cac_tot_parameterized_inval_req

    Requests matching a policy with an invalidation (INVAL) action and a content group that uses an invalidation selector or parameters.

    cac_tot_non_parameterized

    _inval_req

    Requests that match an invalidation policy where the invalid Groups parameter is configured and expires one or more content groups.

    cac_tot_inval_nostore_miss

    Requests that match an invalidation policy and result in expiration of specific cached responses or entire content groups.

    cache_percent_origin_

    bandwidth_saved

    Percentage of origin bandwidth saved, expressed as number of bytes served from the integrated cache divided by all bytes served. The assumption is that all compression is done in the NetScaler appliance.

    cache_recent_percent_origin

    _bandwidth_saved

    Bytes served from cache divided by total bytes served to client. This ratio can be greater than 1 because of the assumption that all compression has been done in the NetScaler appliance.

    cactor_tot_expire_at_last_byte

    Instances of content expiring immediately after receiving the last body byte due to the Expire at Last Byte setting for the content group.

    cac_tot_enable_flashcache

    Number of requests to a content group with flash cache enabled that were cache misses. Flash cache distributes the response to all the clients in a queue.

    cac_tot_delayed_logging

    Number of requests to a content group with flash cache enabled that were cache hits. The flash cache setting queues requests that arrive simultaneously and distributes the response to all the clients in the queue.

    cac_tot_parameterized_non304_hit

    Parameterized requests resulting in a full response (not status code 304: Object Not Updated) served from the cache.

    cactor_tot_parameterized_req

    Total number of requests where the content group has hit and invalidation parameters or selectors.

    cac_tot_parameterized_304_hit

    Parameterized requests resulting in an object not modified (status code 304) response.

    cache_tot_parameterized_hits

    Parameterized requests resulting in either a 304 or non-304 hit.

    cache_percent_parameterized

    _304_hits

    Percentage of parameterized 304 hits relative to all parameterized hits.

    cache_recent_percent_

    parameterized_hits

    Recently recorded ratio of parameterized 304 hits to all parameterized hits, expressed as a percentage

    cactor_tot_pet_with_nostore_reval

    Requests that triggered a search of a content group that has Poll Every Time (PET) enabled (always consult the origin server before serving cached data).

    cache_tot_pet_hits

    Number of times a cache hit was found during a search of a content group that has Poll Every Time enabled.

    cache_percent_pet_hits

    Percentage of cache hits in content groups that have Poll Every Time enabled, relative to all searches of content groups with Poll Every Time enabled.

    cache_max_mem

    Largest amount of memory the NetScaler appliance can dedicate to caching, up to 50% of available memory. A 0 value disables caching, but the caching module continues to run.

    cache64_max_mem

    Largest amount of memory the NetScaler appliance can dedicate to caching, up to 50% of the available memory. A 0 value disables caching, but the caching module continues to run.

    cache_max_mem_active

    Currently active value of maximum memory.

    cache_utilized_mem

    Amount of memory the integrated cache is currently using.

    cactor_cur_hash

    Responses currently in integrated cache. Includes responses fully downloaded, in the process of being downloaded, and expired or flushed but not yet removed.

    cache_cur_marker_cell

    Marker objects created when a response exceeds the maximum or minimum size for entries in its content group or has not yet received the minimum number of hits required for items in its content group.

    cactor_err_no_buf

    Total number of times the cache failed to allocate memory to store responses.

    Related: