Guide for GPU Selection for GNSS Simulation

Print

Introduction

Updated August, 2023

The Skydel Simulation Engine is unique in that it does not require you to purchase Safran hardware. With Skydel, you can build your own system and the components that you choose are what define the software’s performance. This guide is designed to assist you with the selection of the GPU or Graphic Processing Unit. This component is the most influential in the overall performance of Skydel.

GPU Selection for GNSS Simulation

Selecting a GPU to execute Skydel may initially appear overwhelming but is easy to learn.  Many factors influence the overall performance/price ratio. However, it is possible to quickly determine a perfectly suitable GPU for your use-case by following a few guidelines. If you would like to have more in-depth information, the second section of this document should answer the majority of your questions.

General Information on GPUs

Skydel uses the GPU (also called a Graphics card) to process data. This component is a specialized device that accelerates the creation and rendering of graphics, video, and animations.  It does this by parallelizing mathematical calculations. In comparison, a CPU or Central Processing Unit, processes operation in a serial fashion, normally in a few distinct threads or process.

A GPU is built with hundreds of cores that can handle thousands of threads simultaneously.  This is considered more of a parallel structure and increases their efficiency.  For Nvidia GPUs, these parallel processors are commonly called CUDA Cores.  CUDA is an abbreviated term for “Compute Unified Device Architecture” and is a programming language to execute code on Nvidia GPUs.

CUDA Core Diagram

A single CUDA core is composed of 2 arithmetic units (1 floating-point, 1 integer) which perform mathematical operation (ex: add, sub, mult, div) on 2 operands. For example, the Nvidia GPU RTX A5000 used in Safran’s GSG-8 simulator is composed of 4096 CUDA cores and can perform up to 8192 mathematical operations in parallel within a single clock cycle.

Skydel provides the ability to simulate numerous constellations, frequencies, and even other signals (i.e. interference, jamming, spoofing), but the amount of CUDA cores and their speed or clock, is what dictates whether your device can process the quantity defined in the software.  Skydel has an integrated GPU test to quickly verify this (see “GPU Benchmark” section below), but initial selection is critical.

GPU Selection Factors

Number of Signals

You can calculate the number of signals by multiplying the number of satellites visible by the number of signals of each satellite. If you have echoes you will also need to add them to the total number of signals.

  • In general, we assume that 12 satellites are visible and need to be simulated.
    Ex: Simulating 12 satellites transmitting GPS L1 C/A requires “12 signals”
  • For each additional signal (Ex GPS L2C), we add 12 signals
    Ex: Simulating 12 satellites transmitting GPS L1 C/A + L2C requires “2×12 = 24 signals”
  • Multiply the number of signals per simulated echo (Multipath)
    Ex: Simulating 12 satellites transmitting GPS L1 C/A + L2C and 1 echo requires “48 signals”

Sampling Rate

The minimum sampling rate of a simulation is normally determined by the bandwidth of the signals combined in each emitter. The wider the bandwidth the more precise the simulation needs to be. To simulate L1C/A you need 12.5MSps to achieve a good quality signal. If you add Galileo E1 the required sampling rate is 25MSps. Add GLONASS G1 and it goes up to 50MSps. Each time the sampling rate doubles, the load on the GPU also doubles.

As a rule of thumb, you can assume 60MSps per emitter if you want to simulate multiple constellations.

Instances

Simulating multiple antennas requires additional Skydel instances. Although Skydel instances can share the same GPU, sharing the GPU is not as efficient as having a dedicated GPU for each instance.

FLOPS

FLOPS or Floating-Point Operations Per Seconds is a metric that measures the ability of a GPU to process data. The metric we are more precisely looking at is Single Precision FLOPS. Normally Nvidia publishes that value in GFLOPS (GigaFLOPS) or TFLOPS (TeraFLOPS). We can calculate the minimum GFLOPS Number for our simulation by using the following formula:

flops gpu guide

Examples

I need to simulate GPS L1CA Galileo E1, GLONASS G1 and BeiDou B1.
Number of signals: 4 × 12 = 48
Sampling Rate: 60 MSps
(48 × 60) / 2.5 = 1152 GFLOPS

I need to simulate 4 constellations dual frequency: GPS L1CA, L2C; Galileo E1, E5b; GLONASS G1, G2; BeiDou B1, B2
Number of signals: 8 × 12 = 96
Sampling Rate: 60 MSps
(96 × 60) / 2.5 = 2304 GFLOPS

I need to simulate 2 antennas with all L1/L5 signals: GPS L1CA, L1C, L5; Galileo E1, E5b; GLONASS G1, G2; BeiDou B1, B1C, B2a
Number of signals at 60 MSps: 6 × 12 × 2= 144
Number of Signals at 125 MSps: 5 × 12 × 2= 120
((144 × 60) / 2.5 = 3456 GFLOPS) + ((120 × 125) / 2.5 = 6000 GFLOPS) = 9456 GFLOPS

I need to simulate every civilian signal with 1 echo and 2 antennas for a spacecraft.
Number of signals at 60 MSps: 12 × 15 × 2 × 2= 720
Number of Signals at 125 MSps: 13 × 15 × 2 × 2 = 780
((720 × 60) / 2.5 = 17280 GFLOPS) + ((780 × 125) / 2.5 = 39000 GFLOPS) = 56280 GFLOPS

Comparison Table

(as of August 2023)

GPU Model GFLOPS Estimated Maximum Number of Signals* $ MSRP (USD)
T400 1094 46 $249
T1000 2500 104 $449
RTX A2000 7987 333 $449
GeForce RTX 4060 11200 467 $299
GeForce RTX 3060 Ti 13720 572 $399
RTX A4000 19170 799 $999
GeForce RTX 4060 Ti 20100 838 $399
GeForce RTX 4070 22600 942 $799
RTX A5000 27772 1157 $2499
GeForce RTX 4070 Ti 35500 1479 $799
RTX A6000 38709 1613 $6999
GeForce RTX 4080 43000 1792 $1199
GeForce RTX 4090 73100 3046 $1599
RTX 6000 Ada Gen 91060 3794 $8999

Skydel GPU Benchmark

Once you are up and running with your computer and your copy of Skydel, a nice feature in Skydel tells you if your prepared scenario is too demanding for your GPU. This feature is called the “GPU Benchmark”.

In the GPU Benchmark window, you can indicate how many satellites and echoes you aim to simulate. Then, you click “Start” and the benchmark will execute a 10s simulation as fast as possible. The benchmark is completed with a “score.” When the score is 1.15 or higher, Skydel will be able to run the defined GNSS simulation scenario in real-time without any issue.

GPU Selection in GNSS Simulation Use The GPU Test Speed Tool

Detailed information

The section explains the importance of different parameters that can influence your choice of a GPU or the overall performance of Skydel. We highlight the most important parameters.

GPU attributes

Nvidia GPU product lines

Nvidia has 2 main GPU product lines: “Nvidia GeForce” and “Nvidia RTX” (previously called Quadro). (Be careful, the naming can be confusing: “Nvidia GeForce” GPUs also use the “RTX” prefix in their name.)

Skydel will run well on either line of Nvidia products. The best choice depends on your specific use case.

GeForce

GeForce cards are mainly used by gamers. They are much less expensive than the RTX (2x to 3x less expensive), which makes future upgrades easy and cost-effective.

RTX

RTX cards use Error Correction Code (ECC) memory and have more precise floating-point operations. While this is very important for applications such as bioengineering, this is not important for Skydel GNSS simulation.

RTX cards are usually physically smaller, which might be important if you need to install more than one GPU in your system.

For comparable GPUs, RTX cards are often less performant, because they run at a lower clock rate. This gives them the advantage of drawing less power, heating less and having a longer life span.

Floating-point operations per second (FLOPS)

This is the most relevant measure of the raw computer performance of a GPU. You can compare the FLOPS results of the different Nvidia GPUs on Wikipedia (see links in reference section). However, this does not always translate linearly to Skydel performance, because Skydel’s overall performance is affected by other parameters, such as memory transfer speed.

Memory Size

Memory size will not influence the performance of Skydel. It can however limit the number of signals and echoes that can be simulated simultaneously. Skydel will clearly indicate to the user if GPU memory size is an issue for the desired simulation scenario.

Computer settings

CPU model and clock rate

The CPU model and clock rate have an important influence on Skydel performance. The CPU must be able to calculate the GNSS satellite trajectories and navigation message in real-time. Also, the clock rate will influence how fast IQ samples are transferred from the GPU to the computer RAM.

When simulating multiple constellations and multiple frequencies, we strongly recommend the higher Intel core i7 CPU (Intel core i7 13700K). AMD CPUs also work well with Skydel.

Operating System

Skydel runs fine on either Windows or Linux Ubuntu. However, we strongly recommend using Linux Ubuntu when simulating more than one constellation and more than one GNSS band. GPU performances are about 30% better under Linux Ubuntu. Under Windows, Nvidia cards are set to run in “WDDM” driver mode, which makes them run CUDA code slower. They can be switched to “TCC” driver mode to get linux-like performance, but this is only possible for the “RTX” product line, and for GPU not used for display.

Real-time operation is more stable under Linux Ubuntu because there are fewer general O/S services running in background.

External applications

Skydel is a real-time application. When running a simulation, we strongly recommend closing all other applications. Especially applications using GPU acceleration, such as web browsers and many other modern applications.

Skydel scenario settings

Number of constellations to simulate

When simulating multiple constellations, more computation must be done on both the CPU and GPU side. The CPU has more satellite orbits to compute, and the GPU will have more satellite signals to modulate.

Number signals to simulate

Each GNSS signal type is computed separately in the GPU. In general, the GPU computation load increases linearly with the number of signals to be simulated. However, combining multiple GNSS signals on the same band might require a larger bandwidth, which will require a larger sample rate.

For example, GPS L1CA and GLONASS each require a 12.5 Mega Samples/second (MSPS) sampling rate. When combining the 2 signals on a single RF Output, Skydel needs to oversample the two signals to 50 MSPS.

Number of satellites to simulate and number of echoes (multipath)

The GPU computation load increases linearly with those. An echo is modulated the same way as a the original “Line of Sight” signal.

Note that Skydel only simulates the signals reaching the receiver. This concept is important to grasp, because some simulation scenarios will have only a few visible satellites, while others will have all GNSS satellites visible. For example, when the receiver is in orbit around the Earth at a very high altitude, it is possible that it will receive the signals of all the GPS satellites around the Earth

Users have the option to increase the “elevation mask”, below which Skydel will not simulate the satellites. By default, the elevation mask is set to 10 degrees.

Sample Rate

The GPU computation load increases linearly with the selected sample rate. However, doubling the sample will increase the GPU computation load by less than double, because some operations are not sample rate dependent.

Other considerations

When selecting a GPU, it is important to have in mind the following factors that do not have an impact on the Skydel performance.

GPU Form factor

GPU cards come in many varied sizes and shapes – even identical cards from different manufacturers can have very different sizes.

Most GPUs require a PCIe 16x connector and are at least 2 PCIe slots wide. Skydel does not require the full PCIe 16x bandwidth; we recommend having a PCIe 8x connection.

Multi-GPU

If you need to build a system with multiple GPUs, you will need to select a motherboard able to support this configuration. Make sure both GPU run with PCIe 8x at minimum. For such cases, we strongly recommend working with a computer vendor. Note that most of the time, it is easier and less expensive to have the fastest GPU than a multi-GPU computer.

GPU availability

Since the gaming industry is evolving very rapidly, many gaming GPUs stay on the market for a short period of time (6-12 months). If you need to be able to build identical computers for more than one year, you should use a GPU in the Nvidia RTX product line, which are generally guaranteed to be on the market for 5 years.

Upgradability

GPU are easy to upgrade, even after a few years. When upgrading to a much more potent GPU, make sure that your Power Supply Unit can handle the extra power required.

References:

Note:
Please be aware that not all GNSS signals are equal in terms of GPU load. This document is meant to guide users in recognizing which GPU can best suit their needs. Safran provides general guidance and recommendations, but accuracy and performance are not guaranteed. We hold no responsibility for any issues arising from this information.

Request a Quote or Information


GPU Selection Guide

Related Resources Related Resources