独占电脑资源来执行一个应用

1. 背景

在人工智能时代,随着神经网络的发展,训练人工智能模型需要越来越多的硬件资源,例如,利用10万条棋局数据、使用一台PC电脑、完整地训练一次确定性神经网络五子棋模型,需要花费一年半的时间。随着训练数据的增长,需要花费的硬件资源和时间也会越来越多。

毋庸置疑的,消耗资源最多的是算法。但除此之外,其他因素也产生了一定的影响,典型的包括操作系统自身的消耗、多任务之间的切换与干扰等。譬如,操作系统强制更新、重启导致中止训练任务,操作系统内核层面的多任务切换、内核任务执行、应用软件的后台运行等都会抢占硬件资源。

2. 方法

为了在不增加硬件的基础上加速模型训练,可以考虑削减软件的干扰,比如,使用单任务系统而非多任务系统进行训练、在多任务系统中训练期间关闭不必要的服务软件等。本文介绍的是在元神系统中进行模型训练的方法。

(1)编写适用于元神系统的程序

元神系统0.4版支持FASM汇编语言编写程序,其他开发语言或许后续版本会逐步支持。

新建源代码文件demo.asm,输入如下所示的代码:

use32


START:
	pusha
	
	call demo1
	
	popa
	iret



;print string at specified coordinate, e.g y=10 and x=2
demo1:
	pusha
	mov esi,hello_text
	mov ebx, 10
	mov ecx, 2
	call print_string
	popa
	ret

;print string
;input:
;	esi: address to string
;	ebx: y position to print
;	ecx: x position to print
print_string:
	pusha
	xor eax, eax
	imul edi, ebx, 80*2
	add edi, ecx
	add edi, ecx
	mov ah, 0x0F
 .next_char:
	lodsb
	cmp al, 0
	je .end
	mov word [gs:edi], ax
	add edi, 2
	jmp .next_char
    .end:
	popa
	ret
 
hello_text db 'Hello world!',0

(2)编译程序

使用FASM汇编器,在命令行输入命令“fasm.exe  demo.asm  demo.bin”,正确汇编后将会生成可执行程序demo.bin

(3)运行目标程序

将demo.bin文件拷贝到安装有元神系统的U盘的根目录下,将该U盘插入目标电脑上并开机进入元神系统。在元神系统下使用命令ZX来执行目标程序,如下图所示:

(4)备注

本例的代码从屏幕的第10行第2列开始显示字符串“Hello world!”,并非是某个人工智能模型的训练程序,想做模型训练的可照此流程进行操作,只是将此处的代码换成训练用的代码即可。

上图中所示的命令ZX表示执行某个二进制文件(软件程序),完成自己的模型训练等程序编写后,可用此命令来执行编译生成的训练软件。

3. 优点

元神系统的0.4版默认配置为单任务系统,不仅省去了任务切换的消耗,还省去了操作系统内核组件的消耗,将整个机器的所有硬件资源都用于目标软件,这使得模型训练程序等目标软件可以独占所有资源来加速执行。

另外,在目标程序执行的过程中,也不必担心受到操作系统强制更新、其他软件抢占资源等的干扰。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

De-Chang Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值