Without Chairman Mao's thought, how can we guide the Chinese revolution!
No GPUDevelopment ideas, how to develop heterogeneousProgram!
What isGPUWhat about development ideas? You can have one set, and I also have one set. The following is my recommendation idea:
I thought about 3000 at the beginning.It is too impatient to know how to run parallel computing units and whether the standard deviation can be parallel. You don't have to worry about writing ourKernel programs, such results tend to block their own thinking. What do you mean-a simple understanding is GPUDevelopment should take a look at the overall situation first, and then look at the local area. Previously I read an image processing blog, and the meaning of parallel understanding on the entire image is much greater than that on a sorting or median.AlgorithmParallel Computing is too large, and it is often not worth the candle to consider the details with a large amount of attention. This is the case for doing everything. Maybe this is especially prominent for the heterogeneous development of a large application.
The core idea of developing heterogeneous programs is to analyze the parallel granularity from large to small and gradually iterate.
Imagine the most obvious result:
We have accelerated the first development cycle.50%;
In the second development cycle, parallel computing is performed on an internal module, which improves75%;
In the third development cycle, we performed in-depth Optimization on a parallel computing module and improved20%;
......
The advantage is that the optimization programs in each stage can run and are correct results. They can all be used as a version to record the program efficiency, can be compared with the previous version, you can see that the program is gradually improving the speed. This process is called excellence! The biggest benefit of this process is that heterogeneous programmers who do not have much development experience can improve their awareness of parallel computing andCudaDevelopment level. Therefore, I suggest that you do not develop heterogeneous programs in one step. We need a step-by-step and refined iterative development process.