Developing WebGL computational codes using Abubu.js
2D Implementations using Abubu.js
Extension of WebGL computational codes to 3D settings
Experimental methods
Microelectrode recordings
Optical mapping for voltage propagation in whole hearts
While there have been efforts for creating interactive simulations of cardiac and excitable models, they have been mostly done for relatively simpler models (23, 24), so traditionally, complex multidimensional simulations of cardiac dynamics as well as other computationally costly models have been carried out using large supercomputers, but these resources are expensive to acquire and maintain and are difficult for nonspecialists to use. GPUs, a recent alternative to CPU computing, solve some of these problems by providing a low-cost alternative. GPUs provide thousands of computational cores that can carry out mathematical operations in parallel. In this way, they provide high-performance computing at the personal device level.
However, programming GPUs for optimal performance presents new challenges by requiring specialized knowledge and techniques that vary with different operating systems and GPU hardware, making development and maintenance of codes difficult. Several languages exist to develop programs for GPUs (25) and several implementations, particularly CUDA, have allowed accelerations of simulations in tissue (26) and for several complex models (27); however, the codes need to be compiled and optimized for particular architectures (they are executable only on NVIDIA graphic cards). Here, we provide an alternative through Abubu.js to simplify developing computational codes that are cross-platform, do not require explicit compilation by developers or users, and can be easily accessed and executed simply by visiting a webpage. We further show examples that enable simulations to run several orders of magnitude faster on personal computer (PC) GPUs.