The Numerical Power Package (original) (raw)

RP Fiber Power logo

RP Fiber Power — Simulation and Design Software for Fiber Optics, Amplifiers and Fiber Lasers

Boost the Computation Speed with the Numerical Power Package

RP Fiber Power has been carefully optimized for high computational efficiency, resulting in high speed execution. For most users, the speed of the standard RP Fiber Power version is fully sufficient. Most of the supplied demo scripts can be executed on an ordinary PC within at most a couple of seconds. In many practical applications, computational speed is no issue at all, even if a not particularly fast computer is used.

Demanding Cases

However, there are situations where a sophisticated simulation requires substantial computation time — particularly in the following contexts:

Therefore, some small percentage of the users of this software has applications where a substantially faster execution is quite desirable. To address that need, since 05/2020 we are offering (with moderate additional cost) the Numerical Power Package as an add-on to RP Fiber Power which provides the following:

Note that general calculations outside the indicated cases do not obtain a speed improvement.

Some more numerical features of the Numerical Power Package may be developed, and those will then be delivered to existing customers as free updates.

How does the Numerical Power Package work?

RP Fiber Power (in any version since 05/2020) is now using a numerical library which normally does not require special DLLs, but can utilize such DLLs as provided with the Numerical Power Package. These DLLs contain code which utilizes special SIMD CPU instructions (namely of types SSE3, SSE4, AVX, AVX2, and AVX-512), which have been developed for efficient numerical mass production. For example, a single CPU instruction may perform a certain mathematical operation not just to one or a few numbers, but to large fields of such numbers.

The largest performance improvement results just from an improvement of efficiency of calculations done by a single CPU core. Some functions, however, also use multithreading, i.e., the simultaneous utilization of multiple CPU cores.

For many tasks, the software automatically applies one of several codes, depending on the recognized CPU features.

Although the mentioned types of CPU instructions have been supported by most CPUs (even for ordinary office PCs) for quite a few years, few software packages utilize them because the program code needs to be substantially adapted for that.

What do you need?

For using the Numerical Power Package, you need the following:

Please note that in any case (with or without the Numerical Power Package), you need a 64-bit Windows version.

Most software updates will not require updating the DLLs. If it is needed, you will be advised by RP Photonics to update the DLLs as well. Once you have a license for some RP Fiber Power version with the Numerical Power Package, you will not need to pay extra for getting the latter updated.

In order to obtain the greatly improved speed, you do not need to apply any changes in your simulation scripts or the program settings. Only, you might want to utilize some of the offered additional functions.

Of course, it also helps if you use a fast computer. The most important aspect is the single-thread performance, i.e., the speed with which it can execute a single thread. This is determined by factors like a high clock frequency, possibly enhanced with hyperthreading. Having a large CPU cache can also be very helpful.

Having more CPU cores helps only marginally with the standard version, but helps significantly at least in some cases if you have the Numerical Power Package. Mostly, however, it allows you to execute other software at the same time without being substantially slowed down.

If you purchase a new computer for maximum speed, look out for a CPU supporting the AVX-512 extensions, which brings a substantial further improvement when using the Numerical Power Package. However, an Intel Core-i7, not yet supporting AVX-512, provides a great improvement already. We have seen some first indications that AMD CPUs are less well supported than Intel CPUs — leading to lower speed with or without the Numerical Power Package.

Besides, having sufficient main memory is beneficial. Most simulations don't need large amounts of memory, but some do — in particular, when using numerical beam propagation with large grids. While normally e.g. 8 GB of main memory should be fully sufficient, having some more (nowadays at marginal cost) may help in certain cases.

Optimized Approaches for Modeling

Frequently, you can have enormous gains of speed just by choosing the right approach for your modeling. For example, you should always choose a kind of model which takes into account all relevant physical effects, but nothing beyond that. Also, one should always keep in mind which questions the modeling should answer in the end.

As a user of RP Fiber Power, you get competent support — also regarding such questions. It is recommended that in case of doubt you discuss such aspects with Dr. Paschotta at the very beginning of a modeling project.