This is a compilation of experiments on multi-thread computing, parallel computing and a small project on parallel programming language implementations, including Pthread, OpenMP, CUDA, HIP, OpenCL and DPC++.
OpenMP-simple_instances.c is a simple OpenMP example
OpenMP-Matrix_Vector_Multiplication.c is an OpenMP example of vector and matrix multiplication.
OpenMP-matrix_multiplication.c is an OpenMP example of matrix multiplication.
For specific instructions, see https://blog.csdn.net/qq_46009046/article/details/133587081
PThread-simple_instances.c is a simple PThread example
PThread-synchronization.c is a synchronized PThread example
PThread-matrix_multiplication.c is a matrix multiplication PThread example
For specific instructions, see https://blog.csdn.net/qq_46009046/article/details/133587081
cu_vectorAdd.cu is a simple vector addition CUDA example
managed_cu_Matrixmultiplication.cu is a matrix multiplication implemented using the CDUA unified shared memory
Transformer_Encoder.cu is a CUDA-based implementation of the Transformer Encoder Example
For specific instructions, see https://blog.csdn.net/qq_46009046/article/details/133753993 https://blog.csdn.net/qq_46009046/article/details/133797554 https://blog.csdn.net/qq_46009046/article/details/134020656
OpenCL_vectorAdd.c is a simple vector addition OpenCL example
OpenCL_Mixer.c OpenCL_Mixer.c is a matrix multiplication implementation using OpenCL.
a.cl a.cl is a kernel function for OpenCL matrix multiplication
For specific instructions, see https://blog.csdn.net/qq_46009046/article/details/133777178
hip_vectorAdd.cpp is a simple vector addition HIP example
For specific instructions, see https://blog.csdn.net/qq_46009046/article/details/133583217
dpcpp_vectorAdd.cpp is a simple vector addition DPC++ example
dpcpp_templatematching.cpp is a template matching DPC++ example
dpcpp_sobel.cpp is a sobel filter DPC++ example.
For specific instructions, see https://blog.csdn.net/qq_46009046/article/details/123306679