# Blog

Guide for GPU Selection for GNSS Simulation

Print

GPU Selection for GNSS Simulation

Introduction

The Skydel Simulation Engine is unique in that it does not require you to purchase Orolia hardware.  You can build your own system and the devices that you use are what define the performance of the software. This document is designed to assist you with GPU Selection for GNSS Simulation – especially as it pertains to your specific application.

Minimum and recommended options are listed on:

Selecting the specific GPU to execute Skydel GNSS initially appears 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 deeper information, the second section of this document should answer the majority of your questions.

General Information on GPUs

Skydel uses the GPU or Graphics card to process data.  This device is a specialized device that accelerates the creation and rendering of graphics, video and animations.  It does this through extremely fast mathematical calculations which can free up the CPU to perform other tasks.  A CPU is not really built for this since it can typically only handle a few software threads at a time.

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 Orolia GSG-8 is composed of 4096 CUDA cores and can perform up to 8192 mathematical operations in parallel within a single clock cycle.

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.

Skydel provides the ability to simulate numerous constellations, frequencies, and even other signals (i.e. interference, jamming, spoofing), but the amount of CUDA cores in your GPU 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 Guidelines

How many signals does your simulation require?

  • 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”

Rule of Thumb: For each signal, you need approximately 16 CUDA cores.

Do you need to simulate multiple constellations?

Simulation of wider signals (>50MHz) on multiple frequencies will require more GPU processing power.

Do you need to simulate multiple antennas or RTK?

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.

Examples

I need to simulate GPS L1CA and Galileo E1 signals only, with 1 echo

Number of signals: 2x12x2 = 48
CUDA Cores required: 48×16 = 768
GPU Suggested: NVIDIA GeForce GTX 1650

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
CUDA Cores required: 96×16 = 1536
GPU Suggested: NVIDIA GeForce RTX 3060

I need to simulate 2 antennas with all L1/L5 signals: GPS L1CA, L1C, L5; Galileo E1, E5; GLONASS G1,G2; BeiDou B1, B1C, B2a

Number of signals: 10×12 = 120
CUDA Cores required: 120x16x2 = 3840
GPU Suggested: 2x Nvidia GeForce RTX 3080

 

Recommended GPUs

Recommendations based on GPUs available in April 2022.

Nvidia GeForce product line

Entry-level: GeForce GTX 1650

  • 896 CUDA Cores
  • Price: $200-350 USD

Mid-level: GeForce RTX 3060

  • 1792 CUDA Cores
  • Price: $450-600 USD

High-level: GeForce RTX 3080

  • 4480 CUDA Cores
  • Price: $1000-2000 USD

Nvidia RTX product line

Single PCIe slot option: RTX A4000

  • 3072 CUDA Cores
  • Price: $1500-1700 USD

(Single PCIe Slot GPUs are uncommon and more expensive. But they can be suitable for smaller computers)

High-Level: RTX A5000

  • 4096 CUDA Cores
  • Price: $2500-3000 USD

Comparison Table

Application Number of Signals GPUs CUDA Cores
Basic Navigation: Single constellation, single or dual frequency, commercial devices, manufacturing testing 12-64 Quadro T1000* 896
Basic Navigation: Single constellation, single or dual frequency, commercial devices, manufacturing testing 12-64 GeForce GTX 1650 896
Basic Navigation: Single constellation, single or dual frequency, commercial devices, manufacturing testing 12-64 GeForce GTX 1660Ti 1536
Mid-Level: Dual constellation, dual frequencies, automotive, public safety 64-192 GeForce RTX 3060 1792
High-End: Multi-constellations, multi-frequencies, some echoes (Multipaths), RTK, automotive, agriculture, space-based receivers 154-224 RTX A4000 3072
High-end: Multi-constellations, multi-frequencies, multiple echoes (Multipaths), RTK, automotive, agriculture, space-based receivers 192-280 RTX A5000** 4096
High-end: Multi-constellations, multi-frequencies, multiple echoes (Multipaths), RTK, automotive, agriculture, space-based receivers 192-280 GeForce RTX 3080 4480
Advanced testing: Multi antennas for multi constellations, GNSS manufacturers, Military / NAVWAR / Spoofing >280 2x RTX A5000** 8192
Advanced testing: Multi antennas for multi constellations, GNSS manufacturers, Military / NAVWAR / Spoofing >280 2x GeForce RTX 3080 8960
Advanced testing: Multi antennas for multi constellations, GNSS manufacturers, Military / NAVWAR / Spoofing >280 N RTX A6000*** N x 5376

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

Number of CUDA cores

This is the most crucial factor affecting the GPU performance. It represents the number of computing units running in parallel in the GPU.

Nvidia GPU product line

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 fine on both line of Nvidia product. The best choice depends on your specific use case.

GeForce

GeForce cards are mainly used by gamers and crypto miners. 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.

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

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 translate linearly to Skydel performance, because the whole Skydel 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 it is needed to simulate multiple constellations and multiple frequencies, we strongly recommend the higher Intel core i7 CPU (Intel core i7 12700KF). 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 less 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.

Graphics card brand

From our experience, most high-volume GPU manufacturers perform very similarly. The “big names” are PNY, ASUS MSI, EVGA, Gigabyte and Zotac. However, note that PNY is the only manufacturer of the RTX product line.

GPU Form factor

GPU cards come in many varied sizes and shapes. Most of them 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.

Heat dissipation / Fan types

modern GPU card have one of 3 heat dissipation mechanisms:

  1. Multiple fans. This is the most common mechanism on the market. Fresh air is pulled from the rear of the GPU (outside the computer), and hot air is pushed inside the computer chassis. In this case, the computer chassis must be equipped with good fans to push all the hot air (from the GPU and the CPU) outside the chassis.
  2. Blower. This is the opposite of the fans: “fresh” air inside the computer is pulled by the GPU, and it pushes hot air off the rear. All PNY RTX Axxx boards use blowers.
  3. Passive heat sink: no moving parts. This is extremely uncommon for GPUs. GPU using only passive heat sinks are not very performant.

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:

Request a Quote or Information


Related Resources Related Resources

Serge Malo
ABOUT THE AUTHOR
Serge Malo

Serge is a computer science engineer from Montréal, Québec, Canada. He has 20+ years of experience in software development in several industries: GNSS, RF testing, Graphics cards, device drivers, and microcontrollers. Co-founded Skydel Solutions in 2014 with two partners. In 5 years, the company went from a blank page to a worldwide recognized success in the GNSS testing industry. In March 2019, Skydel was acquired by Orolia. Interests in all aspects of GNSS, General Purpose GPU programming, Software Defined Radios, Agile methodologies, and modern C++. His passion is to solve complex computational problems using the most advanced programming techniques.