UCERD Gathering Intellectuals Fostering Innovations
Unal Center of Educaiton Research & Development

The Journey of Supercomputing in Pakistan
Past Present and Future

UCERD Rawalpindi
Supercomputing Center
UCERD Murree
In a supercomputer system, thousands or even millions of processors work in parallel using advanced programming models and process the real-life science and engineering applications delivering power up to millions of times higher than of normal personal computer. With the integration of Artificial Intelligence (AI) based supercomputers, the machines allow scientist and engineers for simulation and data analysis that require a large amount of data in a short period of time. Today supercomputers are considered as the main pillar of science and are an essential tool for accelerating country's strength, overall growth, financial power, national security, defensive ability, and promote the timely development of the highly modern tool and technology.



A supercomputer is a computer with a high-level computational capacity compared to a general-purpose computer.
A supercomputer holds a group of computers that act as one collective machine capable of processing enormous
amounts of data. For the best efficacy, the supercomputer system has high Performance processing architecture,
easy Programmable programming models, Portability, and Scalable against scientific algorithms, Accessible by
the users, Power Efficient and Low Cost. A generic supercomputing system contains five major groups (shown
in Figure ) which are the Scientists, the Programmers, the Hardware Experts, the System Manager, and the
Programming Tool, Developers.
1. The scientist group responsibility is to propose and provide algorithms related to sciences and engineering e.g. linear, differential equations and filters for quick analysis, observation and decision.
2. The Programmers duty is to take a sequential algorithm and convert it into the parallel program which can execute efficiently on supercomputer architecture.
3. The Hardware Experts proposes hardware architectures which can execute a parallel program generated by Programmers group and give high performance. There are three types of hardware architectures for the supercomputing system CPU-based, CPU, GPU-based and Embedded CPU-GPU based.
4. The Programming Tool Developers is to prove software solutions. The solutions can be used by Scientists and Programmers to best utilize the resources of High Performance Computing. The Programming Tool Developers has to deal with, the hardware scalability issues by using Operating Systems (OS). Suitability of the mainstream OS for Supercomputers with potentially hundreds and thousands of heterogeneous processing
cores are one of the hottest debated subjects in the academic and research community. The OS supports, in a scalable manner, hundreds of heterogeneous processor cores. It follows the fundamental design principle, space sharing, support for heterogeneity, power efficiency, virtualization, and layering. The Programming Tool Developers has to propose and provide Programming Models. Real applications use SISD (CPU), SIMD (GPU), and MIMD (FPGA, Multi-core) architectures, executing the sequential parts on the SISD and compute-intensive parts of the SIMD or MIMD cores. Supercomputer requires a practical programming model that facilitates parallel implementation and supports proper management of data delivery to the processing nodes. This is why the CUDA programming model, introduced by NVIDIA in 2007, is designed to support joint CPU-GPU (SISD-SIMD) architecture. The demand for supporting joint CPU-GPU execution is further reflected in more recent programming models such as OpenCL, OpenACC, and C++AMP.
5. The system manager has to deal with hardware maintenance issues, software installations, power management, and network management, etc..
In Pakistan, the research and development of Supercomputing started during the early eighties. Pakistan Atomic Energy Commission (PAEC) department is considered as the pioneer in the field of supercomputing.
The PAEC started using supercomputing for processing complex applications. In the late nineties, Pakistan faces a ban on supercomputers which reduces the speed of development of supercomputing.

The ban gets relaxations at the start of the 21st century, the U.S. government eased regulations that applied to export high-performance computers to Pakistan. The current regulations allowed Pakistan to import supercomputer systems that are capable of processing information at a speed of 500 GFLOPS Later different universities and research centers have established their supercluster architectures. Some of the leading supercomputing groups and departments are ScREC NUST Islamabad, KUST Kohat, COMSATS, CIIT Islamabad, GIK Institute, KRL, UET Lahore, and NED Karachi.
UCERD Pvt Ltd is one of leading Pakistani company giving HPC solutions. 
UCERD provides hardware and software solutions for high performance computing. UCERD developed heterogeneous CPU/GPU based Supercomputer in 2015 and in 2019 won Higher Education Funding to develop Scalable Heterogeneous SUpercomputer System.

In 2017 UCERD developed Pakistan’s First FPGA-Powered Supercomputer System. The FPGA-Powered Supercomputer uses an FPGA and ARM processor-based compute nodes. The design system uses message passing interface libraries for communication between compute-nodes while AXI4-stream interfaces between the ARM processor and FPGA inside a compute-node. The system composed of low-cost and low power Zybo boards having Zynq SoCs. In the design system, the FPGA handle the computer-intensive portion of a high performance application and increased the computation power of the ARM CPU. The Finite Impulse Response (FIR) filter is used as a test application on the system to evaluate the computational capability of the ARM processor with and without FPGA accelerator.

Dr. Tassadaq Hussain [15] is the founder of Supercomputing Research Group (ScRG) [2] in collaboration with UCERD Private Limbed Islamabad [16] and Barcelona Supercomputing Centre Spain [17]. In January 2016, The ScRG team of engineers have developed a GP-GPU based supercomputer architecture [9]. The system supports CUDA, MPI/LAM, OpenMP, OpenCL, and OpenACC programming models. It also can solve larger algorithms, numerical techniques, big data, data mining, bioinformatics and genomics, business intelligence and analytics, climate, weather and ocean-related problems.
With the increase of information available in Big Data format and improvement in microprocessor technology, high performance, and low power Supercomputer architecture is required across all fields of research and academia. The Supercomputer architecture allows multiple processing resources to be accessible by different applications to processes datasets.
The Supercomputing Platforms harness the power of processing systems uses intelligent programming frameworks and provides the services to solve complex applications. The Supercomputing Platforms provide application services to solve scientific and engineering problems for academia, industry, and defense and gives them a productive environment. The Supercomputing programming frameworks allow developers, researchers, and scientists communities to write compute and data-intensive applications easily, solve problems in quick time and provide a guideline that improves their efficiency. It uses high performance processing cores to process compute and data-intensive real and non-real-time problems. The platform targets new computing processing architectures that are hardware optimized and give better support, artificial intelligence based programming environment and low power and high performance components to make supercomputer easily programmable, more energy efficient and high performance.
In 2015 UCERD team [4] built a Supercomputing Research Group (ScRG) [5] in collaboration with Barcelona Supercomputing Centre Spain [7].

The ScRG is one of the largest supercomputing research centers in Pakistan. The ScRG can work on research, industry and defense projects, including big data processing, signal processing, and low power computing. In the past, Dr. Tassadaq has proposed supercomputing architecture [11] [12] [13] [14] [15] [16] that uses FPGAs based accelerators, DSP, GPU
and RISC multi-core processing systems.

Considering the cost, power, and performance, Dr. Tassadaq has proposed and developed three types of Supercomputing Platforms.
The supercomputer architectures are the CPU based Supercomputer, the CPU-GPU based Supercomputer
and the FPGA based Supercomputer.