[cuda programming materials] The big model is hot, practice the basic skills, learn cuda programming, and re-learn C++ programming. Improve my ability. Get rid of brick CRUD.

0, about cuda computing

https://developer.nvidia.com/zh-cn/cuda-zone

Official introduction:
CUDA® is a parallel computing platform and programming model developed by NVIDIA for general-purpose computing on graphics processing units (GPUs). With CUDA, developers can take advantage of the powerful performance of GPUs to dramatically accelerate computing applications.

In a GPU-accelerated application, the serial portion of the workload runs on the CPU, which is optimized for single-thread performance, while the compute-intensive portion of the application runs in parallel on thousands of GPU cores. When using CUDA, developers program in mainstream languages ​​such as C, C++, Fortran, Python, and MATLAB, and express parallelism in the form of a few basic keywords by extending the program.

NVIDIA's CUDA Toolkit provides everything needed to develop GPU-accelerated applications. The CUDA toolkit includes several GPU-accelerated libraries, a compiler, development tools, and the CUDA runtime environment.

At present, there are no other programming calculations to choose from.
The most widely used and most supported by the community is cuda.

1, cuda learning video

NVIDIA CUDA elementary tutorial video, this video has a high volume of playback.

https://www.bilibili.com/video/BV1kx411m7Fk/

NVIDIA CUDA Elementary Tutorial Video

GPU parallel computing and CUDA programming, this is also possible, the language speed is slow.
https://www.bilibili.com/video/BV15Y4y1F7tE

GPU Parallel Computing and CUDA Programming

2, pdf data:

https://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf

https://docs.nvidia.com/cuda/pdf/CUDA_C_Best_Practices_Guide.pdf

Zhongwen Documentation 1.1 Version
https://www.nvidia.cn/docs/IO/51635/NVIDIA_CUDA_Programming_Guide_1.1_chs.pdf

https://www.nvidia.cn/docs/IO/57399/NVIDIA_CUDA_Programming_Guide_1_1-Ch.pdf

3, c++11 documentation

Learning materials:
Spend 38 yuan to find a C++ programmer as a teacher, and guarantee to master C++

https://www.bilibili.com/video/BV1o8411x7K3/

Spend 38 yuan to find a C++ programmer as a teacher, and guarantee to master C++

C++ advanced from basics to architecture (C++11, lock-free queue, new features, STL, distributed)

https://www.bilibili.com/video/BV16g4y1J7tH/

C++ advanced from basics to architecture (C++11, lock-free queue, new features, STL, distributed)

4, Project learning lluma.cpp also has cuda part

This project is developed using c++. Very efficient and fast.

https://github.com/ggerganov/llama.cpp

5, summary

cuda programming is a good way to get started and learn c++.
Can do a lot of basic functional computing development.
It is more valuable than CRUD for applications. Have a deeper understanding of the relevant technical directions.
You don't need a computer with high configuration, as long as you have a cuda graphics card, preferably an intel computer.

Just buy a second-hand computer, just a desktop, and then find a cheap entry-level cuda graphics card.
In case of giving up, the cost of investment is not too high.

As for why I chose C++ to learn instead of python.
Because it is not an algorithm, but there are always some scenarios that require higher efficiency.
At this time, you need to use C++ directly. There is value in learning this well.
Give support to algorithm classmates.

Guess you like

Origin blog.csdn.net/freewebsys/article/details/131622141