SIMD Extension

说明

SIMD Extension 的各种函数中参数的顺序以及各种函数的实现机制都是遵循着机器在实际存储时采用的小端序,注意在和数组混用时可能会产生一定思维上的混乱。

OpenMP

Check the OpenMP version

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include <stdio.h>

int main() {
#ifdef _OPENMP
    printf("OpenMP version: %d\n", _OPENMP);
#else
    printf("OpenMP is not supported.\n");
#endif
    return 0;
}

If system supports the OpenMP, you will receive similar output results

Matrix Multiplication

  1. GEMM(General Matrix Multiplication)-通用矩阵乘
  2. BLAS (Basic Linear Algebra Subprograms) - 基本线性代数子程序
  3. SGEMM (Single precision General Matrix Multiply) - 单精度矩阵乘法
  4. DGEMM (Double precision General Matrix Multiply) - 双精度矩阵乘法
  5. CGEMM (Complex single precision General Matrix Multiply) - 单精度复数矩阵乘法
  6. ZGEMM (Complex double precision General Matrix Multiply) - 双精度复数矩阵乘法

Matrix & Vector

  • GeMV

Polymorphism

谈及多态主要是在考虑具有继承关系的多个类型之间的关系。考虑多态的核心在于引用或指针的 静态类型动态类型 是可能不同的

静态多态 和 动态多态 的一个明显的区别是 是 编译时 还是 运行时 解析调用

Principle of Software Version Control in Linux

In Linux, sometimes we will face to a software which has many editions, such as gcc and java. In different scenes, maybe we need different editions of the same software, so we must save all of them. But how can we switch them?

Linux uses the symlink to allow user easily switching between programs.

Then, we use the gcc as an example to illustrate the principle of software version control.

0%