Spacecraft mission will become more common. There are relevant open projects such that Mars colonization and exploring missions outside the Solar System.
These missions require high accuracy calculations because the error propagates in time and would be able to modify the trajectory.
There are many ways to face this problem: analytical or numerical approaches.
The analytical approaches could only be used for simplified problems, and thus it is really restrictive.
The numerical approaches commonly used and include metaheuristics and nonlinear programming. I have used genetic algorithms to solve a basic problem which consists of optimizing trajectory to travel to Mars from the Earth.
They are optimized and work properly. However, there are significant differences in performance.
The GPU library can adapt to other Nvidia graphic card and furthermore improve the time that I obtain within my circumstances. In addition, the graphics card industry is constantly improving their models and we have recently seen the clusters of the graphics card in the business.
The CPU library is stable and can work on any computer because it does not rely on Nvidia hardware, it is a completely cross-platform library that only needs Eigen library which is compatible with every OS.
I have used for the test: i7-7700k vs Nvidia GeForce GTX 1070
I have been developing a neural network API for GPUs. It is based on CUDA technology and I tried to exploit the full potential of the computer.
Most of us, do not know the real potential of GPUs in AI. This kind of hardware is specialized in logical operations and it was used by the industry of engines and videogames. Some years ago, we have experienced a ‘boom’ in graphics cards, the improvement in speed, price and the ease of programming had triggered a new mother-lode.
GPUs provide a bunch of parallelism algorithms to improve performance.
As we know, neural networks use matrix-to-matrix and matrix-to-vector operations. We can take advance in the optimization of them. Unfortunately, feed-forward and backpropagation are linear functions, they can neither be optimized nor parallelized.