授权协议: MIT
开发语言: Rust
操作系统: 跨平台
收录时间: 2019-06-03
提 交 者: xplanet

Emu 是用于编程 GPU 的高级语言。与其他语言(如 OpenCL 或 Halide)嵌入 C 或 C ++ 不同,Emu 用于嵌入 Rust。它为编写函数提供了单个过程宏。宏将编译时的函数转换为较低级别的代码,以便它们可以在 GPU 上运行。

Emu 还提供了一些旨在使编程 GPU 更易于访问的功能,例如内置数学和物理常量,单元注释和隐式转换。这是一些示例函数:

emu! {
	// more particles
	more_particles(num_particles u32, num_moles u32) u32 {
		return num_particles + num_moles * L;
	}

	// moves particles
	move_particles(global_particles_x [f32], global_particles_y f32, global_particles_z f32) {
		global_particles_z[get_global_id(0)] += 7.3e1 as nm;
		global_particles_x[get_global_id(0)] += 2 as cm;
		global_particles_y[get_global_id(0)] += 6 as cm;
	}
	
	// moves particles in circle
	rotate_particles(global_particles_r [f32]) {
		global_particles_r[get_global_id(0)] += 7.5 * TAU;
	}

	// multiplies 2 matrices
	// n is the dimension of the matrices
	// a and b are the matrices to be multiplied, c is the result
	multiply_matrices(n i32, global_a [f32], global_b [f32], global_c [f32]) {
		// indices of cells to multiply
		let i: i32 = get_global_id(0);
		let j: i32 = get_global_id(1);

		// execute step of multiplication
		for k in 0..n {
			global_c[i * n + j] += global_a[i * n + k] * global_b[k * n + j];
		}
	}
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

Emu 的相关资讯

还没有任何资讯

Emu 的相关博客

Ubuntu 下编译Game Music Emu

这算是我在OsChina发表的第一篇博文吧,标志着以后我将在这里安营驻扎了。 以前在Windows系统下玩得比较high,偶尔喜欢整点新鲜...

【Rust日报】 2019-06-03:emu: 基于Rust实现的GPU的语言

Evoli: Amethyst官方展示游戏 #game #Amethyst Evoli是一款由Amethyst(紫水晶)制作的进化灵感模拟游戏,目前已经成功完成了...

海外CPA广告联盟平台ead emu模拟器扫盲篇--UA,流量来路,浏览器指纹 基础说明-VMLogin指纹浏览器

国内的广告联盟近几年来越来越多,但是国外的广告联盟简直是多如牛毛,那么我们怎样快速地找到适合自己的国外的广告联盟平台呢...

改写的力量--分析函数不光只有row_number()

还是某客户的经营分析系统,下面这个SQL,执行了1.2小时: SQL 代码简化如下: INSERT /*+ append*/ INTO MD_KPI_ACT_EMU_PR...

Ubuntu16.04引导界面美化(burg)

今天尝试安装了一下Ubuntu16.04后,脑子一热就试了一下引导界面美化(burg)。以前只是看过有这些美化界面操作,却没试过,终...

基于IDA7.2的STM8处理器插件编写

一、创建代码工程 创建一个生成动态库的空工程。 工程属性配置 1、 配置体调试信息 将D:\Program Files\IDA 7.2\ida64.exe添加...

POI导出简单的带有图片的Word文档

由于导出的文档中需要插入图片,因此需要新建类来处理由于插入图片引进的错误即“导出的word文档在打开时会报内容出现错误,无...

Burg

sudo add-apt-repository ppa:bean123ch/burg sudo apt-get update sudo apt-get install burg burg-common burg-emu burg-pc...

如何使div在任何分辩率的情况下居中

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title> * emu * </title> <SCRIPT> ...

Emu 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
更多评论
0 评论
25 收藏
分享
返回顶部
顶部