AWG-on-GPU

所属分类:GPU/显卡
开发工具:C
文件大小:0KB
下载次数:0
上传日期:2024-03-26 02:43:53
上 传 者sh-1993
说明:  使用用于波形合成的加法合成框架在GPU上生成任意波形
(Arbitrary waveform generation on a GPU using the additive synthesis framework for waveform synthesis)

文件列表:
benchmark/
lib/
spcm_header/
Makefile
waveform_synthesis_playback.cu
waveform_synthesis_streaming.cu

# AWG_on_GPU Arbitrary waveform generation on a GPU using the additive synthesis framework for waveform synthesis ## Overview This is a software achitecture for real-time arbitrary waveform generation based on a CUDA GPU and PCIe DAC module, allowing for a high throughput static waveform generation as well as a flexible and low-latecy computation of complex waveforms. Currently this project is implemented with two pathways of generating dynamic waveforms with chirping tones. ## Hardware and Environment The program only runs on a Linux system and requires a NVIDIA GPU and a PCIe interfaced DAC card both with GPUDirect RDMA support. First install NVIDIA CUDA Tool Kit, CUDA Driver, and Open GPU Kernel Modules following guide [here](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html), or following the guide provided by your DAC vendor. Remember to disable IOMMU to avoid RDMA errors; you should be able to do that in your BIOS setting. The DAC we used is the[Spectrum Instrumentation M4i.6622-x8](https://spectrum-instrumentation.com/products/details/M4i6622-x8.php), whose driver includes are included in the folder `spcm_header`. The drivers and their installation guide could be found [here](https://spectrum-instrumentation.com/support/downloads.php). If you are using other DACs, you would need to configure the device handle `hCard` and the pinned buffer `pvDMABuffer_gpu` accordingly. To compile the code, you may also need to [g++](https://gcc.gnu.org/) installed as the host compiler. With the drivers and compilers verified, you should be able to compile with the code. You need to modify the `Makefile` to make sure: 1. The CUDA driver directory is set properly; 2. The source file name matches the code you would like to compile, which by default should be one of the `waveform_synthesis*.cu` files. Upon the successful compilation, an executable `waveform_synthesis` should appear in the code directory. ## Inference Currently there is no GUI interface. The parameters of generated waveform could be editted in `parameters` files. For real-time interface, the server in `waveform_synthesis*.cu`, or other kinds of interruption needs to be implemented. ## Evaluation The Nvidia NSight Profile of the cuda function in this program is placed in the `benchmark` folder; the code used for testing is located in the `benchmark\test_setting` folder. ## Citing Please see the [2403.15582](https://arxiv.org/abs/2403.15582) correlated with this project. Please contanct Juntian Tu juntian"at"umd.edu for issues related to this repository.

近期下载者

相关文件


收藏者