CUDA Samples 之 Simulations 之 Particles源码学习(1)
自己用C++编程做颗粒堆积,但效率很低,所以想将程序并行,所以开始接触CUDA。但是完全不知道如何搭一个并行程序框架,所以想先学习CUDA的示例程序,刚好里面有一个颗粒离散元模拟的程序。
从主函数开始阅读,主函数在particles.cpp文件中。
![主函数](https://img-blog.csdnimg.cn/2020120523454047.png)
1.首先,**主函数根据命令行参数给颗粒数量、网格数量、迭代次数赋初值**,命令行参数检测和赋值的函数没有细看。
2.下面是**初始化OpenGL**【initGL(&argc, argv)】和 初始化cuda【cudaInit(argc, argv)】,这两个函数还未细看,OpenGL暂时用不到,初始化cuda在particleSystem_cuda.cu文件中,这个文件中都是处理颗粒的GPU函数。
3.下面到**函数initParticleSystem**,这个函数是初始化颗粒系统的函数,直接跳转到函数定义。
参数为颗粒数量,grid尺寸,和bUseOpenGL。这里开始对psystem赋值,并进行一系列操作,psystem是ParticleSystem类的地址。下面跳转阅读ParticleSystem类的头文件particleSystem.h。
**public部分,未细看。**
(1)构造函数,参数是uint numParticles, uint3 gridSize, bool bUseOpenGL。
(2)析构函数。
(3)枚举型变量enum ParticleConfig,这