Giter Site home page Giter Site logo

twang006 / tw Goto Github PK

View Code? Open in Web Editor NEW
7.0 4.0 7.0 7.05 MB

Hybrid CPU and GPU real-time dynamic digital image correlation engine and application

License: BSD 3-Clause "New" or "Revised" License

MATLAB 2.03% C++ 71.99% Cuda 25.64% GLSL 0.08% C 0.26%

tw's Introduction

TW

Parallel DIC Engine and its application research codes.

Introduction

This repository provides a pipelined real-time DIC system implementation that unifying the computation capabilities of both CPU and GPU. The system framework is based on the figure below: RT-DIC System Framework

  1. TW_Engine: The revised implementations of the paDIC algorithm to make thame more suitable for real-time systems and applications
  2. TW_EngineTester: Use Google Test to perform the unit test of the TW_Engine
  3. TW_Core: The implementation of the proposed real-time DIC system.

Dependencies

*Note: Please make sure you have at least one camera connected to the computer before you start.

  1. Intel Math Kernel Library (MKL): using fftw3 to do fast Fourier transform (FFT) and LAPACK routine to solve linear system in parlalel on CPU.
  2. CUDA 8.0+: for parallel computing on NVIDIA GPUs.
  3. CUFFT: associated with CUDA, for perform parallel FFT on GPU.
  4. Qt 5.5+ with OpenGL Integration: for GUI and multi-media used in App_DPRA.
  5. OpenCV 3.1+: for fast and convenient image I/O.

References

[1] Zhang, L., Wang, T., Jiang, Z., Kemao, Q., Liu, Y., Liu, Z., ... & Dong, S. (2015). High accuracy digital image correlation powered by GPU-based parallel computing. Optics and Lasers in Engineering, 69, 7-12.

[2] Wang, T., Jiang, Z., Kemao, Q., Lin, F., & Soon, S. H. (2016). GPU accelerated digital volume correlation. Experimental Mechanics, 56(2), 297-309.

[3] Wang, T., Kemao, Q., Seah, H. S., & Lin, F. (2018). A flexible heterogeneous real-time digital image correlation system. Optics and Lasers in Engineering, 110, 7-17.

tw's People

Contributors

twang006 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

tw's Issues

cuda执效率

感谢您的分享,我们基于您的相关计算实现了较好的任务效果。但仍然存在一些问题,望您给出一些建议。
我们的硬件是intel i7处理器(13代)gpu是nvidia3050。在实际运行中我们发现gpuuu并行加速运算效率并不比多核CPU快多少。
甚至多核cpu在执行ICGN计算时还比gpu端快0.333秒。我们将gpu端的线程数设置为您原代码的4倍,但执行速度的提升很少。
实在找不到其他优化的方法,还望您能给些建议。十分感谢🙏

please help me

Hello author, I would like to ask where is the include "ui_glcanvas.h" file in your code? I don't have this file in the archive I clone.

CUDA error at D: TW-master TW TW Engine TW-paDIC_CuICGN2D,cu:1294 code=700

感谢您分享的工作,有一些问题想向您请教。
我们的GPU型号是RTX 3050,cuda版本为12.1
1.在调用TW_paDIC_cuFFTCC2D.cu时,我们发现全局图像计算的结果更为准确(我们用了两张v方向上偏移-4的图进行测试,u=0,v=-4、-3以及zncc=0.8xx),但采用兴趣区域(从上述图像上截取了一个小的区域,但实际偏移应该不变,可计算结果却变成了,u=0,v=-14,zncc=0.4xx)计算时结果确比实际值偏移了不少?
2.在调用TW_paDIC_cuICGN2D.cu时,最后一个核函数ICGN_Computation_Kernel之前的核函数计算结果似乎都没问题,也不存在线程访问冲突之类的。但进入到ICGN_Computation_Kernel的计算后就会报错CUDA error at D:Tw-master TW TW_Engine TW-paDIC_CuICGN2D.cu:1285 code=700(cudaErrocuHandleICGN.m_d_fSubsetT, sizeof(real_t)* m_ipoINumber* (m isubsetsize + 1), cuda
并且发现和函数的输入targetimg的灰度信息(我们输出了一下单个兴趣点的对应值)也被改变了(从142变为156)。
微信图片_20231206125356

3.在统计FFT和ICGN运行时间时存在统计时间不稳定,有时极大有时极小。
上述问题是因为线程或者资源分配导致了内存访问冲突所导致么?不知道您是否提供些修改或者优化建议?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.