首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Rust 编程

    Rust 与 GPU 编程的现状与前景探究

    NIR 设计上更接近硬件,旨在作为多个不同前端(如 GLSL、SPIR-V)和多个不同后端(如不同的 GPU 驱动)之间的桥梁。NIR 也支持 SSA 等各种优化技术。 它旨在为 Rust 编译器打造一个 spir-v 的编译后端。 SPIR-V 是一个为 Vulkan 和 OpenCL 设计的中间语言(IL)标准。 SPIR-V 设计上更靠近硬件执行层次,它直接被 GPU 驱动所接受,并转换为特定硬件的机器代码。 正如前面 Mesa 的 IR 图所示,SPIR-V 通常作为着色器语言(如 GLSL)的编译输出,然后可以被转换为 NIR 进行进一步的优化和处理。 后记 通过以上对 Rust 生态中 GPU 编程的现状的探索,我认为 rust-gpu 中实现的 SPIR-V 编译后端对于 Rust 占据 GPU 编程生态位一席是非常重要的。

    4.8K41编辑于 2023-11-20
  • 来自专栏Rust语言学习交流

    【Rust日报】2020-08-10:在 Rust 中存储连续数据

    不过基本上都是英文哒, 英文好的同学可以参考一下. https://github.com/sger/RustBooks SPIR-Q 轻量级的SPIR-V reflection 库 SPIR-Q 0.4.2 SPIR-Q 是一个轻量级的 SPIR-V reflection 库. https://github.com/PENGUINLIONG/spirq-rs

    90420发布于 2020-08-17
  • 来自专栏Rust语言学习交流

    【Rust 日报】2021-11-07 rsqlite3:Rust版sqlite3

    Input let buf_c = GpuBuffer::<u32>::new(&fw, cpu_data.len()); // Output // Shader load from SPIR-V binary file let shader_module = utils::shader::from_spirv_file(&fw, "<SPIR-V shader path>")?

    64240发布于 2021-11-12
  • 来自专栏Rust语言学习交流

    【Rust日报】2021-10-30 autograph:Rust的机器学习库

    autograph:Rust的机器学习库 这是在SPIR-V compute shaders上重建的autograph的第一个版本,可以使用rust-gpu从Rust源代码编译!

    78940发布于 2021-11-02
  • 来自专栏OpenTK

    GLSL 版本与 OpenGL 的对应关系

    OpenGL 4.6GLSL 4.602017 年引入 SPIR-V 着色器编译、统一的变量布局、纹理视图数组、改进的采样器比较。

    35310编辑于 2025-09-06
  • 来自专栏旅途散记

    听GPT 讲Rust源代码--compiler(18)

    其中,最重要的结构体是spirv_builder,它表示一个SPIR-V构建器,用于生成SPIR-V指令。 spirv_builder结构体包含了很多方法,这些方法通过添加不同类型的SPIR-V指令来构建SPIR-V模块。 这些结构体提供了与SPIR-V字节码相对应的Rust接口,使得Rust代码能够方便地与SPIR-V进行交互。 此外,该文件还实现了SPIR-V字节码的序列化和反序列化功能,以及一些用于验证和处理SPIR-V模块的方法。 这些功能使得Rust编译器能够将Rust源代码转换为SPIR-V字节码,并进行一些优化和验证操作,确保生成的字节码符合SPIR-V规范。

    46810编辑于 2024-03-21
  • 来自专栏VRPinea

    3.9 VR扫描:VR家装平台酷家乐获D轮1亿美金融资;唐思远将担任3Glasses技术负责人

    开源组织Khronos Group正式发布Vulkan 1.1 今日,开源组织Khronos Group正式发布Vulkan 1.1和SPIR-V 1.3规范。

    66950发布于 2018-05-18
  • 来自专栏DotNet NB && CloudNative

    .NET 8.0 和 OpenGL 创建一个简易的渲染器

    Silk.NET.Shaderc、Silk.NET.Shaderc.Native - 用于以 SPIR-V 方式编译 GLSL。注意,OpenGL 4.6 支持 SPV Shader。

    77010编辑于 2024-03-01
  • 来自专栏Tecvan

    浅入浅出WebGPU

    Metal、Direct3D 12等高性能的本地图形标准库对标 这意味着WebGPU将会是一个对高性能GPU的桥接层,只要按照这套标准就可以实现一个利用GPU的工具库,它的着色器是一套符合Vulkan SPIR-V 自定义的着色器语言 WGSL WGSL(WebGPU Shading Language)是全新的一门语言,WebGPU设计这门语言时大量参考了Vulkan SPIR-V,因为版权、利益分配等问题,最终决定新造一门语言 ,一门混合Rust、TypeScript、Metal的编程语言,之前用WebGL的同学应该知道着色器是用GLSL编写的,没关系,最终只要有工具转为Vulkan SPIR-V 二进制程序即可。

    2.6K21编辑于 2022-01-25
  • 来自专栏WeTest质量开放平台团队的专栏

    深度了解Android 7.0 ,你准备好了吗?

    它们包括: ● 头 ● 验证层(调试库) ● SPIR-V 着色程序编译器 ● SPIR-V 运行时着色器编译库 ● Vulkan仅适用于已启用Vulkan硬件的设备上的应用,如 Nexus 5X、Nexus

    3.6K10发布于 2017-02-23
  • 来自专栏Datawhale专栏

    为什么电脑配置高,玩《黑神话:悟空》需要等待这么久

    现代的一些图形接口,如 Metal、Vulkan、DX12,允许编译得到中间格式的结果(比如 Metal IR、SPIR-V 等),一些引擎会选择将这些中间格式结果打入安装包中,但仍然避免不了在首次加载时编译得到最终产物

    97910编辑于 2024-08-30
  • 来自专栏WeTest质量开放平台团队的专栏

    深度了解Android 7.0 ,你准备好了吗?

    它们包括: ● 头 ● 验证层(调试库) ● SPIR-V 着色程序编译器 ● SPIR-V 运行时着色器编译库 ● Vulkan仅适用于已启用Vulkan硬件的设备上的应用,如 Nexus 5X、Nexus

    2K30发布于 2018-10-29
  • 来自专栏Thierry的云原生分享

    WASM和机器学习

    TVM自动从TensorFlow,Keras,PyTorch,MXNet和ONNX等高级框架中提取模型,使用机器学习驱动的方法自动生成低级代码,在这种情况下,将以SPIR-V格式计算着色器。 TVM已经有Vulkan的SPIR-V目标,使用LLVM生成主机代码。可以仅将二者的用途重新生成设备和主机程序。主要挑战是runtime。

    1.6K31编辑于 2022-11-18
  • 来自专栏程序员

    LLVM IR深度技术解析:架构、优化与应用

    其扩展方向包括:通过SPIR-V兼容性支持OpenCL内核编译,添加!spirv.ExecutionMode等并行计算属性描述线程模型,扩展指令集原生支持向量/矩阵操作。 ;SPIR-V兼容LLVMIR内核示例definespir_kernelvoid@vector_add(i32%a,i32%b,i32%c)!spirv.ExecutionMode! ExecutionMode",i321};1对应SPIR-V的LocalSizeExecutionMode上述代码通过@spir_kernel标记内核入口点,!

    48410编辑于 2025-10-15
  • 来自专栏Rust语言学习交流

    【Rust日报】 2019-08-12:Tokio alpha 版发布,新版本支持async/await

    它一个着色器翻译库,由 @TheMaister 和一些 Khronos 成员开发,虽然不是 Khronos 的官方产品,但需要它从SPIR-V源生成特定于平台的着色器。

    1.4K30发布于 2019-08-16
  • 来自专栏深度学习与python

    Java 近期新闻:JDK 18 GA、JMC 8.2、Spring 升级、MicroStream 7.0-Beta1

    该版本带来了一些新的特性和改进,如:与 JDK 17 和 Graal 21.3.0 集成;默认启用本地函数;SPIR-V 后台的多项改进;改进了安装脚本;以及支持与数学运算有关的扩展内联函数。

    2.6K30编辑于 2022-04-19
  • 来自专栏深度学习与python

    用 TornadoVM 让 Java 性能更上一个台阶

    它目前有三个生成代码的后端,分别生成 OpenCL、CUDA 和 SPIR-V 代码。开发人员可以选择使用哪一个,或者让 TornadoVM 默认选择一个。 然后,TornadoVM 将优化后的代码转换成高效的 PTX、OpenCL 或 SPIR-V 代码。 这个时候开始执行代码,将会启动数百或数千个线程。

    1.9K10编辑于 2022-04-19
  • 来自专栏深度学习与python

    Java 近期新闻:OpenJDK JEP、Spring 更新、Payara 平台和 Kotlin 1.6

    TornadoVM TornadoVM 是一家开源软件公司,发布了 TornadoVM 0.12 版本,特性包括:一个新的后端,用于 SPIR-V 的 Level Zero 分配器;一个改进的基准测试框架

    2K30发布于 2021-12-01
  • 来自专栏未竟东方白

    【图形学】Vulkan Tutorial 学习笔记

    中的元素我们就可以很轻松地在不改变架构的情况下实现多重缓冲 ShaderModule Shader本质是编译后在GPU上直接运行的代码, 但是在主机上用高级语言进行编写 Vulkan的Shader则是采用称为SPIR-V 的半编译代码, 其可以用任意高级语言编写, 然后经编译器转为接近编译的状态节省空间并提高后续编译效率 我们需要将SPIR-V文件读取并创建ShaderModule对象, 然后设定好Pipeline的不同阶段

    2.5K30编辑于 2023-03-02
  • 来自专栏深度学习与python

    Java近期新闻:Grails 6.0、PrimeFaces 13.0、JUnit 5.10、GraalVM、新的 JEP 草案

    TornadoVM 发布了 0.15.2 版本的虚拟机,该版本提供了缺陷修复和显著的改进,例如:对在多个设备上执行多个独立任务的最初支持,可以在多个硬件加速器上执行多任务;支持 OpenCL/PTX 和 SPIR-V

    1.2K30编辑于 2023-09-08
领券