Optimizing Game Performance with SIMD Parallel Computing

Optimizing Game Performance with SIMD Parallel Computing

Author: Yu Yisai Part One: Introduction Game engines are filled with a large number of calculations, among which the most typical are vector operations, matrix operations, and quaternion operations. They share a common point: in most cases, data is grouped into sets of 4 numbers, with one or more calculations performed between two sets of … Read more

SIMD vs SIMT: Two Paradigms of Parallel Computing

SIMD vs SIMT: Two Paradigms of Parallel Computing

In the field of modern high-performance computing and parallel processing, two concepts frequently arise:SIMD (Single Instruction Multiple Data) and SIMT (Single Instruction Multiple Threads). For those who are encountering these terms for the first time, they may find their meanings and differences confusing. This article will help you understand the basic concepts, application scenarios, and … Read more

Understanding SIMD Instructions

Understanding SIMD Instructions

Author | SatanWoo SIMD is a common computing method that processes multiple data points with a single instruction. This article serves as an introduction to SIMD, starting with a simple understanding of its usage and concepts. Meaning of SIMD SIMD stands for Single Instruction Multiple Data. In brief, it refers to the ability to process … Read more

Understanding SIMD in Computer Architecture

Understanding SIMD in Computer Architecture

1. Introduction In previous articles, we explored the concepts related to Instruction Level Parallelism (ILP). Clearly, in addition to instruction-level parallelism, processors also exhibit parallelism in other dimensions. This article presents the SIMD technology within Data Level Parallelism (DLP). First, let’s consider a question: why was data-level parallelism developed? Does relying solely on ILP have … Read more

Understanding SIMT: A Warp-Based SIMD Model

Understanding SIMT: A Warp-Based SIMD Model

In modern parallel computing architectures, GPUs (Graphics Processing Units) are no longer just “graphics chips” used for rendering, but rather powerful “multi-core processors” with exceptional general-purpose parallel computing capabilities. Among them, NVIDIA’s CUDA programming framework employs the SIMT (Single Instruction Multiple Threads) model allows us to easily write parallel programs with a “thread” mindset. However, … Read more

Understanding the Differences Between SIMT and SIMD

Understanding the Differences Between SIMT and SIMD

It’s another pleasant weekend for learning and Q&A time (•́へ•́╬) What are SIMT and SIMD? When discussing SIMT (Single Instruction, Multiple Threads) and SIMD (Single Instruction, Multiple Data), we are dealing with two common models of parallel computing. Both are technologies used to handle large-scale data and improve computational efficiency. Here is a brief introduction … Read more

When Will Go Officially Support SIMD?

When Will Go Officially Support SIMD?

Single Instruction Multiple Data (<span>SIMD</span>) is a parallel computing technology that allows a single instruction to process multiple data points simultaneously. SIMD is widely used in modern CPUs and can significantly enhance the performance of compute-intensive tasks such as image processing, machine learning, and scientific computing. As the application of the Go language in high-performance … Read more

NUMA-Aware Optimization of Sparse Matrix-Vector Multiplication on ARMv8-based Many-Core Architectures

NUMA-Aware Optimization of Sparse Matrix-Vector Multiplication on ARMv8-based Many-Core Architectures

Original Information Title: NUMA-Aware Optimization of Sparse Matrix-Vector Multiplication on ARMv8-based Many-Core Architectures Published Conference: The 17th Annual IFIP International Conference on Network and Parallel Computing (CCF Class C Conference) Author List 1) Yuxiaosong, China University of Petroleum (Beijing), School of Information Science and Engineering, Major in Computer Science and Technology, Graduate Class of 2019 … Read more

Parallel Computing: Implementing Parallelism with Multiprocessing Module

Parallel Computing: Implementing Parallelism with Multiprocessing Module

Parallel Computing: Implementing Parallelism with Multiprocessing Module In modern computing, when processing large amounts of data or performing complex calculations, a single-threaded approach often fails to meet performance demands. To address this issue, we can leverage parallel computing to enhance program efficiency. In Python, the multiprocessing module provides a simple yet powerful interface that allows … Read more

Parallel Computing in Python: A Detailed Guide to the Multiprocessing Library

Parallel Computing in Python: A Detailed Guide to the Multiprocessing Library

Today, we will explore a very powerful library in Python – the Multiprocessing library. Imagine if you are handling a task that requires a lot of computation, such as analyzing large datasets or running complex simulations, but your computer has multiple CPU cores and can only use one. Isn’t that a waste? The Multiprocessing library … Read more