I decided to write another small post in the continuation of the topic of the
review of the site Intel Software Network (ISN). I would like to talk about some articles that can be found on the ISN website. The theme is aimed at programmers or those who plan to become them.
I made a small selection of articles for those who are interested in developing effective programs or even programming. These and other articles quietly gather dust on the shelves of an ISN, and few have seen them. On Habré, unfortunately, few posts are devoted to programming, and perhaps this review will open for someone a new source of information.
So, the articles on the ISN website and their brief summary.Visually about floating point numbers
Floating-point numbers have penetrated almost all areas of computer game programming. They are used to represent everything — from position, speed, and acceleration to tricky AI variables, texture coordinates, and colors. However, despite their ubiquitous presence, few programmers bother to study the mechanisms behind floating point numbers, their internal limitations and the specific problems that may arise in games. This article discusses some of the problems with floating-point numbers and provides relevant examples in the hope that programmers, if these problems suddenly arise in the midst of working on a project, will be ready for them.Improve memory performance with Intel Streaming SIMD Extensions 4 Streaming (SSE4)
Intel SSE4 is a new instruction set SIMD (Single Instruction Multiple Data). Intel SSE4 includes the MOVNTDQA command to control “stream loading” from devices displayed in the USWC (Uncacheable Write Combining) processor. Streaming downloads improve read-out functions from I / O devices, providing 7.5 times faster speeds than regular loads (such as MOVDQA). The article presents an overview of the streaming command, describes the performance improvements achieved through its use.Motion Evaluation with Intel Streaming SIMD Extensions 4 Command Set (SSE4)
The article describes how using Intel SSE4 commands in video encoding programs to improve the search performance of integer motion vectors from 1.6 to 3.8 times. To represent some of the variations that are used in motion estimation and to illustrate how the code can be adapted to these variations, blocks of three different sizes are used: 4x4, 8x8, and 16x16.Eight simple rules for developing multi-threaded applications
In this article, you will learn about the eight simple rules for efficiently converting sequential program code to parallel. By following these rules, you will create multithreaded solutions much faster, which will have increased reliability, optimal performance and fewer bottlenecks.Productivity gains through the parallelization of an application using a random number generator
Parallelization of the program code in which a set of random numbers is used is associated with the circumvention of arising data dependencies. A set of pseudo-random numbers should be created equally qualitatively in both the serial and parallel versions of the application. This article discusses a method for safely paralleling the algorithm for creating random numbers. Since the built-in function of the language is used in the program code, this method does not require modification of the code or the implementation of an additional algorithm for checking the quality of random numbers in it.Development of a physical model of a solid body partitioning for the game engine
Today, one of the most interesting tasks in visual computing is the modeling of physical phenomena of the real world. This article presents a study on modeling the destruction of a solid body. Two approaches to the implementation of visually correct splitting are considered - a method based on the physical theory of crack propagation and a heuristic algorithm. The features, advantages and disadvantages of both methods, problems arising during modeling are discussed.Introduction to parallel programming technology
Once parallel programming was the lot of only those individuals who were interested in tasks for huge supercomputers. But now, when ordinary applications started working on multi-core processors, parallel programming is quickly becoming a technology that any professional software developer should master and be able to use.Parallel memory allocation mechanisms
When parallelizing applications in C / C ++, it often turns out that the malloc () (or new) function is a bottleneck that limits the maximum application performance. This article explains four main problems that a good parallel memory allocation mechanism can solve: thread safety, additional costs, competitiveness, memory drift.Secrets of using Intel Parallel Inspector to find threading errors
The article will review the features of the tool for diagnosing multithreading errors Intel Parallel Inspector, which is one of the components of the product package for developing multi-threaded applications of Intel Parallel Studio.Codec Transcoding and Optimization: Tips and Tricks
This article provides practical tips and ways to improve the performance of the codec engine. These tips cover the use of Intel VTune Performance Analyzer events and Prescott New Instructions (SSE3) instructions.