ترجمه مقاله نقش ضروری ارتباطات 6G با چشم انداز صنعت 4.0
- مبلغ: ۸۶,۰۰۰ تومان
ترجمه مقاله پایداری توسعه شهری، تعدیل ساختار صنعتی و کارایی کاربری زمین
- مبلغ: ۹۱,۰۰۰ تومان
Abstract
Dynamic relaxation is an analysis method that can be used to find the static equilibrium state of a structure undergoing large displacements. Due to the algorithm's iterative nature, which derives from a damped dynamic oscillations approach, it can take considerable time when solving models with dense node counts. This research looks at a vectorised dynamic relaxation implementation, executed on a graphics card's processing unit (GPU) for the most computationally demanding calculations, and compared to traditional computations on the central processing unit (CPU), to determine if time savings can be found with the change in processor type. The programming language Python and module PyCUDA are utilised on a desktop graphics card with over two thousand shader cores, and compared to a quad-core processor using the same code layout. A vectorised formulation for bar elements and reduced degree-of-freedom beam elements is used, to analyse the absolute and relative run-times for three benchmark cases. It is found that for models with low node counts, the CPU is faster, while for medium to highly dense models, the GPU acceleration can reduce absolute run-times by a factor of three to just over eight. Most benefit is gained when the executed code allows the GPU cores to be overloaded, such that complex calculations involving large arrays of data can be spread over the many cores. This was evident in the GPU load demand, which increased steadily with increasing node count but remained below 100%, while the CPU was readily activated to maximum load for even simple models. The time savings are of interest to architects, engineers and researchers utilising the dynamic relaxation method with medium to complex models, as the benefits can be harnessed with minimal code alteration.
6. Conclusions
Dynamic relaxation can be used to find the equilibrium state of a structure undergoing large deflections, by finding the rest state after oscillations have been dampened-out, for instance by kinetic damping. The method is iterative, with the convergence time depending on the type of damping, the applied loads and the chosen mass matrix. This research looked at executing a vectorised dynamic relaxation regime on both a central processing unit and graphics processing unit, to assess what benefits to the total analysis time could be achieved. This was carried out with the scripting language Python and modules PyCUDA and NumPy, comparing a modern desktop graphics card with just over two thousand shader cores, to a quadcore processor. Constructing vectorised code that can execute on a GPU is not as straightforward as with running on the CPU. Consideration must be given beforehand, to the nature of the calculations, as standard numerical programming functions are not always available. Basic element-wise operations, linear algebra, standard trigonometric and mathematical functions can be used, or combined to make other more complex functions, but sometimes custom kernels may need to be constructed or alternatives found. Three benchmarks with different sub-variables were analysed, examining axial stiffness, flexural stiffness and boundary conditions for bar and reduced degree-of-freedom beam elements. The gridnet models that were more axially flexible were quicker to analyse than their stiffer counter-parts, whilst for the beam models, the pinroller case took significantly more time to analyse than the pin-pin case where axial tie forces acted in addition to the shear forces from flexure.