A Feed Forward Neural Network in CUDA for a Financial Application

Feed forward neural networks (FFNs) are powerful data-modelling tools which have been used in many fields of science. Specifically in financial applications, due to the number of factors affecting the market, models with a large quantity of input features, hid- den and output neurons can be obtained. In financial problems, the response time is crucial and it is necessary to have faster applications which respond quickly. Most of the current applications have been implemented as non-parallel software running on serial processors. In this paper, we show how GPU computing allows for faster applications to be implemented, taking advantage of the inherent parallelism of the FFN in order to improve performance and reduce response time. The problem can be conveniently represented by matrix operations im- plemented using the CUBLAS library. It provides highly optimized linear algebra routines that take advantage of the hardware features of the GPU. The algorithm was developed in C++ and CUDA and all the input features were received using the ZeroMQ library, which was also used to publish the output features. ZeroMQ is an abstraction over system sockets that allows chunks of data to be efficiently sent minimizing the overhead and system calls. The algorithm was tested on an NVIDIA M2050 graphics card with a Intel Xeon X5650 2.67GHz CPU for a neural network of 1000 input features, 2000 hidden neurons and 500 output neurons. Response times of the order of 900 ms were obtained.

[1]  Alexandra I. Cristea,et al.  A Parallelization Method for Neural Networks with Weak Connection Design , 1997, ISHPC.

[2]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[3]  Ruppa K. Thulasiram,et al.  Neural network training algorithms on parallel architectures for finance applications , 2003, 2003 International Conference on Parallel Processing Workshops, 2003. Proceedings..

[4]  R. Gencay,et al.  An Introduc-tion to High-Frequency Finance , 2001 .

[5]  Keechul Jung,et al.  GPU implementation of neural networks , 2004, Pattern Recognit..

[6]  Kin Keung Lai,et al.  Neural Networks in Finance and Economics Forecasting , 2007, Int. J. Inf. Technol. Decis. Mak..

[7]  Patrick van der Smagt,et al.  Introduction to neural networks , 1995, The Lancet.

[8]  Heekuck Oh,et al.  Neural Networks for Pattern Recognition , 1993, Adv. Comput..

[9]  Ruppa K. Thulasiram,et al.  Performance Analysis of Sequential and Parallel Neural Network Algorithm for Stock Price Forecasting , 2011, Int. J. Grid High Perform. Comput..

[10]  Irene Aldridge,et al.  High-frequency Trading High-frequency Trading Industry Strategy Project Engineering Leadership Program , 2022 .

[11]  M. W. Koch,et al.  A parallel neural network simulator , 1990, 1990 IJCNN International Joint Conference on Neural Networks.