Guide for GPU Selection for GNSS Simulation
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.
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.
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”
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.
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 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:
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
(as of August 2023)
|GPU Model||GFLOPS||Estimated Maximum Number of Signals*||$ MSRP (USD)|
|GeForce RTX 4060||11200||467||$299|
|GeForce RTX 3060 Ti||13720||572||$399|
|GeForce RTX 4060 Ti||20100||838||$399|
|GeForce RTX 4070||22600||942||$799|
|GeForce RTX 4070 Ti||35500||1479||$799|
|GeForce RTX 4080||43000||1792||$1199|
|GeForce RTX 4090||73100||3046||$1599|
|RTX 6000 Ada Gen||91060||3794||$8999|
* The Estimated Maximum Number of Signals is based on a 60MSps simulation with a score of 1.3 on the Skydel Benchmark running Skydel Version 23.5 on Ubuntu 22.04.
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.
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.
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 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 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 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.
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.
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.
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.
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.
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.
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.
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.
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.
- List of Nvidia graphics processing units (GeForce)
- List of Nvidia graphics processing units (Quadro)
- Everything You Need to Know About GPU Architecture and How It Has Evolved
- What’s the Difference Between a Blower and an Open-Air GPU Cooler?
- Building Your Own GNSS Simulator
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