Realising robust, flexible and efficient parallelisation for Monte Carlo simulation and Finite Difference solvers
Developers can focus on the bespoke application and shorten development time
Utilise our common subroutines for financial and engineering applications
Highly integrated and efficient remote control of parallel computing on cluster
Built by experts with 10+years experience in HPC
Strong after-sales support
Simplifying Parallel Software Development in C/C++
A major hurdle associated with migrating from serial programming to parallel programming is that the latter requires sophisticated synchronisation and data transportation among parallel processes. CPE v3 provides a standard platform for data manipulation in parallel programs, hiding the details of parallel synchronisation and communication operations. Developers can focus on the core functionalities specific to their application, shorten the overall development time.
Enhanced Cluster Resources Sharing and Utilisation
CPEv3 allows users to launch a parallel application securely and transparently from a workstation through Local Area Network or over the Internet using its proprietary ParaConnect technology. The tight integration of CPE v3 with cluster resources management systems, such as PBS Professional and Windows HPC Server, allows cluster to be effectively shared among multiple users.
Optimised Libraries for Monte Carlo and Finite Difference Methods
Monte Carlo (MC) and Finite Difference (FD) methods are the two most common numerical procedures employed in financial and engineering applications. Both the methods are computational intensive and can efficiently speed up using computer clusters. CPE v3 provides optimised domain specific libraries for MC and FD methods to greatly reduce the development time of parallel codes and/or facilitate parallelisation of existing application employing these two numerical procedures.
Automated Distribution of Batch Jobs
A common use case across many parallel software applications is distributing a batch of jobs into a computer cluster to speed up the calculation. Using the Job Distribution (JD) library of CPE v3, the jobs can be arranged to execute on a compute cluster with minimal programming effort. The JD library comes with the important features of dynamic load balancing and fault tolerance, ensuring the robustness of the parallel programs.
The Monte Carlo (MC) library facilitates the development and porting of MC simulations. Users need only provide the code which generates a single path in the MC simulation, and choose among several sampling, statistics consolidation and termination policies. The MC library supports antithetic variables, quasi Monte Carlo simulation, American options, saving of paths, etc. In most MC applications, linear scaling can be achieved.
The Finite Difference (FD) library facilitates the development and porting of finite difference codes for solving initial value problems of linear homogeneous partial differential equations (PDEs). Users only need to specify the PDE terms, free from the hassles of manipulating matrix elements, like declarative rather than imperative programming. The FD library supports Implicit, Explicit, Crank-Nicholson and 4 variants of Alternating Direction Implicit (ADI) schemes. Standard boundary conditions and standard discretisation schemes are provided besides supporting customised ones. The implementation supports parallel computing.