What is FREDmpc?

FREDmpc is a version of Photon Engineering’s FRED Optical Engineering Software package that allows ray generation, ray tracing and analyses to be performed with GPUs and is the result of our continued investment in leveraging cutting-edge technology for fast, radiometrically precise optomechanical raytracing and analysis.

GPU hardware technology, of which NVIDIA is an industry leader, allows for thousands of processing units running in parallel to be contained within a single workstation. GPU hardware (and software) is rapidly advancing, is highly scalable, and has a relatively low entry cost when compared to distributable CPU based networks. By simply adding, or upgrading, the GPU board in a PC, raytracing and analyses with FREDmpc can be performed orders of magnitude faster using GPUs than with conventional multi-threaded CPUs.

FREDmpc is not a standalone product, it is an extension to the existing capabilities of FRED and FRED Optimum.  All of FRED’s modeling, raytrace and analyses capabilities can be applied in the usual manner with the addition that raytracing and analyses can optionally be performed on the GPUs upon request.

Is it fast?

Really fast?

How does FREDmpc work?

From a program structure perspective, features in FRED which are supported on the GPUs have two implementations in the source code base; one version written specifically for CPUs and one version written specifically for GPUs. When a request to use the GPUs is made, the FRED model on the CPU is passed through a translator that maps each supported FRED feature into its equivalent GPU version.  As Photon Engineering continues to invest in GPU code development, the capabilities of FREDmpc will expand with each new release.

In FRED, performing raytracing and analyses on the GPUs can be accomplished with a single mouse click.  The model translation, raytracing and analyses happen transparently to the user with no additional interaction required.

When should I use FREDmpc?

  • Are you tracing large numbers of rays?
  • Do you often have to run calculations overnight or over multiple days?
  • Are your models often made up of thousands of surfaces?

If so then FREDmpc could be beneficial. The question is: how much is your time worth?

FREDmpc is under continuous development and new capabilities will be added in each release.  In order to help determine whether FREDmpc is appropriate for your analysis needs, the following table identifies important limitations of the current version.  For more specific information about supported features, please contact FRED Technical Support.

Raytrace Paths

Raytrace path data can be tracked upon request with a user-specified maximum number of events per path. The path data will be available in the Raytrace Paths table and the Stray Light Report. There is currently no capability to support path-based ray selection (ex. Irradiance for rays on a specific ray path) or path redrawing.

Coherent Field Propagation

FREDmpc does not currently support coherent field propagation.


FREDmpc does not currently support polarization raytracing or polarization analyses.

Numeric Precision

The GPU raytrace and analyses can be performed in both single and double precision modes.  The influence of the precision mode will depend, in part, on the scale and construction of your system. For example, long propagation distances or systems with many intersections may be more susceptible to error stackup due to single precision raytracing.  The fastest execution times are achieved with single precision mode.

Not all FRED features have exact GPU implementations.  Depending on the construct being represented on the GPU, an approximation may be deployed.


When a document is pushed to the GPUs, scripted surfaces, materials, coatings, etc. will be approximated.  The FREDmpc raytrace and analysis capability can be executed from FRED’s scripting language, but no scripts will be compiled or run on the GPUs themselves.

Hardware Requirements

FREDmpc is not a standalone product, it is a version of our FRED Optical Engineering Software package that allows ray generation, ray tracing and analyses to be performed with GPUs.  In addition to the GPU capability, a FREDmpc license also allows access to all of the CPU feature capability of FRED and FRED Optimum.

CPU Requirements

  • FRED only runs on Windows. We recommend Windows 10.
  • FRED performs multi-threaded calculations on up to 17 threads while FRED Optimum supports up to 127 threads.  Any number of threads beyond the limit for your version of FRED are not used.
  • Many components of FRED, such as BASIC scripting calculations and model updating, are not multi-threaded. Therefore, high-speed processors are advantageous.  In many scenarios, performance is better for a smaller number of fast CPUs compared to a larger number of slow CPUs (e.g., 16 cores at 3.2 GHz vs. 24 cores at 2.4 GHz).
  • We recommend 16+ GB of RAM to avoid the need for temporarily buffering ray data on disk when tracing large numbers of rays.
  • Sometimes, buffering ray data on disk cannot be avoided (e.g., when you need to trace more rays than can be stored in the available RAM).  For this reason, it is beneficial to have a system with a high disk I/O. This stands for input/output, which is the speed of data transfer between the hard disk and the RAM.  A solid state drive (SSD) is recommended.

GPU Requirements

FREDmpc requires one or more local NVIDIA GPU boards with compute capability 6.0 or newer.  Multiple GPU boards operating in parallel are supported.

The graphs below show the relative performance of various GPU boards that have been benchmarked with FREDmpc, where a GeForce GTX 1650 has been used as the reference. For example, in single precision mode the RTX 3090 executed roughly 8 times faster than the same tests on the GeForce GTX 1650.   In double precision mode, the A100 executed roughly 18 times faster than the GTX 1650.

Benchmark data last updated 05/2022

How can I get it?

For more information regarding FREDmpc, email us at fredsales@photonengr.com, or call us at 1-520-733-9557.

New License Purchase

Product No.




Standalone license



Network license, per seat



3-month Lease, Standalone license



3-month Lease, Network license, per seat

  • Purchase price includes a hardware dongle for software license protection and 1 year of software updates and technical support.
  • Instructions for downloading the software will be included with the shipped materials.
  • Shipment will not be made until a completed User Registration Form has been received by Photon Engineering, LLC.
  • Lease price includes a hardware dongle for software license protection and  3 months of software updates and technical support.
  • Payment for each lease period is due and payable at the beginning of each 3-month period.
  • Lease prices include 3-month lease of software, updates, and technical support.

3-Month Lease Information

Option 1:

Continuous 12-month lease: When FRED is leased for four (4) continuous 3-month periods and a year of updates and technical support is purchased within 30 days of the last 3-month expiration date, Photon Engineering, LLC will convert the lease to a permanent copy of FRED or FRED Optimum.

Option 2:

Lease Buyout: 50% of the 3-month lease cost will be applied towards the purchase price of FRED if the software purchase is completed within 30 days after the initial 3-month lease expiration date. Upon this lease buyout, the license will convert the lease license to a permanent license.

Existing License Upgrade

Product No.




Standalone license upgrade from FRED Optimum



Network license upgrade from FRED Optimum, per seat


Annual Support and Renewal

Product No.




Standalone license



Network license, per seat