Intel DevMesh/CRC64_OpenMP

Through Intel oneAPI software model, the CRC64 parallel computing based on C/C++ OpenMP Offload is implemented in Jupyter hub. ...learn more

Project status: Published/In Market

oneAPI, HPC, Cloud

Intel Technologies
DevCloud, oneAPI

Docs/PDFs [1]Code Samples [1]

Overview / Usage

本项目实现了任意输入数据的64位循环冗余校验(CRC)的高性能计算,并且可以利用编译器的OpenMP以在多个核上并行计算CRC。通过Intel oneAPI软件模型,在Jupyter hub中实现基于C/C++的OpenMP卸载的CRC64并行计算。最后通过一段测试代码,证明基于OpenMP卸载的CRC64并行计算的准确性与高效性。

Methodology / Approach

1.oneAPI软件模型提供了一个全面而统一的开发人员工具组合,可以跨硬件目标使用,包括跨越多个工作负载域的一系列性能库。这些库包含针对每个目标体系结构定制编码的函数,因此相同的函数调用可以跨受支持的体系结构提供优化的性能。oneAPI基于行业标准和开放规范,可与现有的高性能计算编程模型互操作。

2.OpenMP Offload构造是OpenMP 4.0中引入的一组c和Fortran指令,并在后续版本中进一步增强,允许开发人员将数据和执行卸载到gpu等目标加速器。OpenMP卸载支持在具有Intel®c编译器和Intel®Fortran编译器的Intel®oneAPI HPC工具包中实现。

3.CRC是指循环冗余校验算法,其用于检测数据在传输的过程中是否出现被篡改或者传输错误,其计算为多项式求余。在检测传输数据准确性时,发送端与接收端会约定一个除数,发送端完成求余后获得CRC检测码,将检测码加在左移了的待发送数据上发送数据。接收端收到数据后除以约好的除数,如果得到的余数为0,说明数据传输无误。

Technologies Used

C/C++

OpenMP

CRC64

Documents and Presentations

Repository

https://gitee.com/Robin_Chan/hpc-crc64-openmp

Collaborators

There are no people to show.

Comments (0)