• 2
  • 3
  • 1
  • 8

Recent Post

  • @stayreal1994

    这个问题,可以去 tf.js github 的 issue 里提

    据我们所知,tf.js 正在进行基于 webgpu 的 backend 的开发,因为 webgpu 完全异步的架构,基本上是重构了整个 tf.js,大概率会有很多 API 或 用法上的区别,所以肯定不是简单 setBackEnd('webgpu') 就可以解决的,最好等他们发布官方版本后再尝试

    另外,确实 WebGPU API 本身变化很大,好多功能还没有支持,像 timestamp-query 我不确定 chrome 是否加入了,目前应该是没有支持,即使加了参数也不行

    read more
  • S
    问题背景

    各位大佬,我目前在尝试使用TensorFlow.js在浏览器上实现神经网络的inference。希望使用TensorFlow.js调用其实现的WebGPU backend来使用WebGPU做神经网络的inference。

    问题复现 软件

    我使用TensorFlow.js的官方MobileNet example (源码) 来尝试。
    由于原版的example没有使用WebGPU backend,因此我将其index.js的前几句改为

    import * as tf from '@tensorflow/tfjs'; import '@tensorflow/tfjs-backend-webgpu' import { IMAGENET_CLASSES } from './imagenet_classes'; tf.setBackend('webgpu'); 硬件

    MacBook Pro M1 Max (with built-in GPU) + Google Chrome Canary (106.0.5205.0)

    问题

    我本地使用npm构建并本地serve来运行上述案例。
    正常的运行没有问题,但是在命令行中有如下提示:

    This device doesn't support timestamp-query extension. Start Chrome browser with flag --disable-dawn-features=disallow_unsafe_apis then try again. Or zero will shown for the kernel time when profiling mode isenabled. Using performance.now is not workable for webgpu since it doesn't support synchronously to read data from GPU.

    即使我按照其说明的,在启动Google Chrome Canary时使用

    ./Google Chrome Canary --args --disable-dawn-features=disallow_unsafe_apis

    来启动,仍然会有如上提示。请问大家是否能够遇到同样的问题?是否有解决的方法?

    read more
  • A

    @shuangliu 十分感谢,插件的思路确实是预处理WGSL文本得到反射类型的,很受启发👍 👍 👍 👍 👍

    read more
  • 您好,这个问题本质上是 shader reflection,目前 WebGPU 的标准中还没有加入该特性,但社区中已经有很多人提出过相关问题,e.g. https://github.com/gpuweb/gpuweb/issues?q=reflection+

    官方已经计划在下一个版本中加入 reflection 的相关功能,届时可以都过 createShaderModule 返回所有 属性和location等相关信息。

    目前的话,社区中有第三方开发的相关组件,e.g. https://github.com/brendan-duncan/wgsl_reflect 也可以得到基本的信息,如果需要可以关注试用一下

    read more
  • A

    WebGPU里当前没有类似getActiveAttrib/getActiveUniform接口,无法预判ShaderModule里属性的location和数据类型,这样封装接口的时候就还是需要开发者填入Layout信息比较麻烦啊。

    难道需要自行开发一个WGSL文本解析器么?

    read more