GPU/CPU友好的模乘算法:Multi-Precision Fast Modular Multiplication

这篇具有很好参考价值的文章主要介绍了GPU/CPU友好的模乘算法:Multi-Precision Fast Modular Multiplication。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 引言

前序博客:

  • 基础算法优化——Fast Modular Multiplication

大整数的模乘:

  • 是每种SNARK计算的核心
  • 是最昂贵的基石
  • 通常可决定整个协议的复杂度

对模乘运算的哪怕一点点改进,都可能带来大幅加速。

Ingonyama团队2023年论文 Multi-Precision Fast Modular Multiplication,开源代码实现见:

  • https://github.com/ingonyama-zk/modular_multiplication(Python)

基础算法优化——Fast Modular Multiplication(本文称为Barrett-Domb模乘算法)是一种基于Barrett modular reduction方案的低复杂度、硬件友好的模乘算法。

Multi-Precision Fast Modular Multiplication为多精度的、GPU/CPU友好的Barrett-Domb模乘算法。相比于现有广泛使用的Montgomery模乘算法:

  • 本算法具有竞争力,且可能会消除对繁琐的Montgomery转换的需求。
  • 如NTT中需要大量的Montgomery格式转入转出,本算法可具有更低的乘法运算次数。

参考资料

[1] Ingonyama团队2023年1月博客 Multi-Precision Fast Modular Multiplication文章来源地址https://www.toymoban.com/news/detail-567752.html

ZKP加速系列博客

  • Multi-scalar multiplication: state of the art & new ideas
  • 采用特殊硬件指令对密码学算法加速
  • 零知识证明的硬件加速
  • STARK/SNARK加速小技巧
  • 借助FPGA硬件对Multi-Scalar Multiplication加速
  • 基础算法优化——Fast Modular Multiplication
  • Ingonyama团队的ZKP加速
  • ZKP加速 GPU/FPGA/ASIC

到了这里,关于GPU/CPU友好的模乘算法:Multi-Precision Fast Modular Multiplication的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CPU和GPU性能优化

    在Unity游戏开发中,优化CPU和GPU的性能是非常重要的,可以提高游戏的运行效率、降低功耗和延迟,并提高用户体验。以下是一些优化CPU和GPU性能的方法: 1.优化游戏逻辑和算法 减少不必要的计算和内存操作,例如避免频繁的分配和释放内存,减少不必要的数据结构和循环。

    2024年02月09日
    浏览(45)
  • 【论文阅读】Automated Runtime-Aware Scheduling for Multi-Tenant DNN Inference on GPU

    该论文发布在 ICCAD’21 会议。该会议是EDA领域的顶级会议。 Author Hardware Problem Perspective Algorithm/Strategy Improvment/Achievement Fuxun Yu GPU Resource under-utilization Contention SW Scheduling Operator-level scheduling ML-based scheduling auto-search Reduced inference makespan Fuxun Yu 是一名来自微软的研究员。主要研究

    2024年01月24日
    浏览(42)
  • CPU和GPU前端的应用

    1、CPU(英文Central Processing Unit 中央处理器) CPU(中央处理器)是一种通用的处理器,其主要任务是执行计算机程序中的指令和序列。它能够处理复杂的逻辑判断、分支、跳转、内存访问等操作,因此在执行大多数通用计算和控制任务时表现出色,例如:办公软件、数据库等

    2024年02月06日
    浏览(40)
  • LInux查看CPU GPU温度

    watch -n 1 cat /sys/devices/virtual/thermal/thermal_zone0/temp 这条指令是用于在Linux系统中查看CPU温度的。让我们分析一下这个指令: cat:这是一个常用的Linux命令,用于显示文件的内容。 /sys/class/thermal/thermal_zone0/temp:这是一个特殊的文件路径,它表示系统中的一个温度传感器。thermal_

    2024年02月16日
    浏览(50)
  • cpu和gpu常见加速方法

    上面我们已经提到多种架构的CPU,常用的两类可以分为 1)Intel , amd 2)Arm 其中Intel , amd的simd指令集包括sse系列和avx系列,一般电脑使用的是intel的cpu Arm的指令集是NEON,主要用于手机移动端 使用simd指令集,要包括特定的头文件,然后调用指令集函数 SIMD理解和学习入门资源

    2024年02月08日
    浏览(46)
  • 【Linux CPU&GPU烤机(压力测试)】

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 链接: http://wili.cc/blog/gpu-burn.html 网页往下翻下载.tar.gz文件,版本我使用最新的 1.1版本下载链接:链接: http://wili.cc/blog/entries/gpu-burn/gpu_burn-1.1.tar.gz 解压,进入目录 设置权限,使用命令 bash命令如下: 通

    2024年02月16日
    浏览(53)
  • FPGA、 CPU、GPU、ASIC区别

    一、为什么使用 FPGA? 众所周知,通用处理器(CPU)的摩尔定律已入暮年,而机器学习和 Web 服务的规模却在指数级增长。 人们使用定制硬件来加速常见的计算任务,然而日新月异的行业又要求这些定制的硬件可被重新编程来执行新类型的计算任务。 FPGA 正是一种硬件可重构

    2023年04月25日
    浏览(42)
  • CPU与GPU到底有什么区别?

    大家好,我是小风哥,今天简单聊聊CPU与GPU。 CPU的故事我们聊得比较多了,之前也发布过很多关于CPU的文章,因此这里重点聊聊GPU。 教授 vs 小学生 你可以简单的将CPU理解为学识渊博的教授,什么都精通,而GPU则是一堆小学生,只会简单的算数运算,可即使教授再神通广大,

    2024年02月09日
    浏览(48)
  • Linux查看CPU、GPU内存使用

    查看CPU内存使用情况 1、输入命令:top,显示如下 2、输入命令:htop,显示如下 若没有该命令,需要先安装,ubuntu安装命令为: centos安装命令为: 查看GPU内存使用情况 1、输入命令: nvidia-smi ,显示如下,该命令只能显示一次。 2、实时显示 1)使用watch命令, 按照指定间隔刷

    2023年04月12日
    浏览(39)
  • PyTorch多GPU训练模型——使用单GPU或CPU进行推理的方法

    PyTorch提供了非常便捷的多GPU网络训练方法: DataParallel 和 DistributedDataParallel 。在涉及到一些复杂模型时,基本都是采用多个GPU并行训练并保存模型。但在推理阶段往往只采用单个GPU或者CPU运行。这时怎么将多GPU环境下保存的模型权重加载到单GPU/CPU运行环境下的模型上成了一

    2024年02月09日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包