WebAssembly 内存管理

在使用WASM的过程中,大多数时候是不需要考虑内存的,JS为我们处理了大部分数据类型,借由Embind也可以直接进行各种参数的传递。但在计算密集型应用中,还是会涉及到数据的传递,比如将数据从JS传递到WASM中,或者从WASM中取回数据。 JS中有解释器和GC,帮助我们管理内存,但在W ...

WebAssembly 介绍

WebAssembly(以下称WASM)是一种新的规范,一种新的二进制格式,可以运行在Web沙箱中,其目的是为了充分发挥硬件能力,以达到原生执行的效率。 WASM可以由C、C++或者Rust代码编译而成,显而易见的是,我们可以将现有的程序移植到WASM中,然后在Web上运行。 本文将简单介绍 ...

从源码编译Pytorch

阅读Pytorch的源码的第一步,首先要获取Pytorch的源代码,然后自己构建一下Pytorch,这样可以对Pytorch有一个粗略的了解,比如Pytorch包含哪些模块,每一个模块的作用是什么,这对我们后续阅读源码会有帮助,本文假设,读者有一定的编码经验,因此不会介绍过多细节。 之前说到, ...

介绍 Pytorch Lightning

Pytorch在发展这么多年之后,虽然在不断添加新功能,但它的核心API一直是没有发生改变的。在编写代码的过程中,很容易发现有一部分代码是极其重复的,无论我们实现哪种网络模型,进行哪种计算,都必须要编写这些代码。 于是,我们也想到可以把这些重复的工程代码抽象出来,只编写那些特定于我们模型的代码,这 ...