demi的博客

GPU 并行优化的几种典型策略

如何对现有的程序进行并行优化,是 GPU 并行编程技术最为关注的实际问题。本文将提供几种优化的思路,为程序并行优化指明道路方向。

优化前准备

首先,要明确优化的目标 - 是要将程序提速 2 倍?还是 10 倍?100倍?也许你会不假思索的说当然是提升越高越好。

但这里存在一个优化成本的问题。在同样的技术水平硬件水平下,提升 2 倍也许只要一个下午的工作量,但提高 10 倍可能要考虑到更多的东西,也许是一周的工作量。提高 100 倍, 1000 倍需要的成本,时间就更多了。

然后,需要将这个问题进行分解。通常来说先对数据集进行分解,然后将任务进行分解。这里要从数据集这样的矩阵角度来分析数据,将输入集和输出集中各个格点的对应关系找出来,然后分派给各个块,各个线程。

策略一:识别代码中的瓶颈所在

总结 | 游戏开发中的专业术语

本文整理了网络/游戏/编程相关的专业术语,作为游戏开发中的辅助参考资料。

16毫秒 / 帧速率

Frame Rate。

电子游戏使用的光栅显示器是普通电视时,图像一般每秒更新60次。图像更新的时间叫做帧,1秒60次即1次16毫秒(0.0167秒 = 16.7毫秒)。

16毫秒是玩家可以识别的游戏画面改变的最短时间间隔。

ARPG

Action Role Playing Game。

角色扮演类游戏中动作性较强的实时游戏,也指包含冒险游戏特征的游戏。

bot

外挂。模拟游戏玩家自动访问游戏服务器、高效率地进行游戏、积累分数以及进行恶意的经济欺诈的程序。

测试外挂是指开发者准备的用来自动化测试的客户端程序。

CPU周期

CPU Cycle。

CPU处理操作的最小单位。1GHz的CPU一秒有10亿个CPU周期,以执行的命令数而言,1秒可以执行10亿次。

根据命令类型的不同,执行需要的CPU周期少则不到1个周期,多则有几百个。

VR视频原理

VR视频,这里指的是沉浸式全景视频,基本场景是观影者戴上显示头盔(如cardboard),在其中通过头部的转动可以看到全景视频的每个方向的图像。同时也能听到来自各个方向的声音,声音也会随着头部的转动而发生变化。通过这种视频和声音与人的头部转动的配合,来给人一种身临其境的感觉。

整个VR视频系统,分为两部份:

一、视频制作:

1、可以通过全景拍摄设备配合图片合成软件来制作现场视频。
2、可以通过3D设计软件制作动画视频。
3、可以将现场视频和动画视频结合制作出更多形式的全景视频。

但不管是通过哪种方式,最终将输出的是一定格式的片源,和普通的视频相比,全景视频仅仅是内容上的差异,而格式上仍然采用诸如MP4\AVI等视频格式。

图像的纹理特征

纹理特征

纹理特征刻画了图像中重复出现的局部模式与他们的排列规则,常用于图像分类和场景识别。其只能反映物体表面的特性,无法完全反映出物体的本质属性,所以仅仅利用纹理特征无法获得图像的高层次内容。

优点:
1. 具有旋转不变性
2. 具有良好的抗噪性能。

缺点:
1. 当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差
2. 有可能受到光照、反射情况的影响
3. 从2-D图像中反映出来的纹理不一定是3-D物体表面真实的纹理

常用的纹理特征提取方法一般分为四大类:

1. 基于统计的方法:灰度共生矩阵、灰度行程统计、灰度差分统计、局部灰度统计、半方差图、自相关函数等

优点:方法简单,易于实现。
缺点:无法利用全局信息,与人类视觉模型不匹配;计算复杂度较高,计算耗时。

Unity Integrations集成功能介绍

Unity Integrations现已正式发布,它允许你将重要的Unity服务连接到Slack、Jira和Discord等热门的生产和通讯工具。

使用Unity Integrations将是获取即时通知的最好方法,例如:当通过Cloud Diagnostics云诊断提交新的用户报告,或是团队成员将新改动推送到Collaborate多人协作时,你会马上得到通知。

如果你是Unity Plus加强版,Unity Pro专业版或Unity Teams Advanced订阅用户,可以获得无限制的集成功能。Unity Personal个人版和Unity Teams Basic用户则可以设置其中的一项集成。

功能简介

新手如何开始学深度学习?别着急,看看别人走过的路先

作者:Arkar Min Aung
编译:ronghuaiyang

新手如何开始学深度学习,这个问题很难回答,每个人似乎都有自己的一套方法,在开始之前,先看看别人是怎么做的,也许会对自己有所启发。

刚开始学深度学习的时候,一定要像婴儿学步一样,慢慢的小步走。
很多人问我如何开始机器学习和深度学习。在这里,我整理了一个我使用过的资源列表,以及我第一次学习深度学习时所走过的路。

免费课程

2018最酷的黑客手法

这是恶意黑客胆大妄为的一年,某些手法此前根本想象不到——佯攻、加密货币劫持、社会工程和破坏性恶意软件行动。但即便是在2018年民族国家和网络犯罪攻击日渐猖獗的背景下,安全研究人员还是找到了一些以黑治黑预先制止坏人攻击的创新手法。

2018年,包括青少年在内的白帽子黑客攻入了一系列重要目标,比如机载卫星设备、美国大选仿真网站和吸尘机器人。他们还运用社会工程和网络钓鱼者自己的战术和人工智能(AI)挫败了坏人自己的阴谋,在漏洞被滥用之前抢先曝光。

我们不妨先忘了那些失败的比特币挖矿实验、家庭路由器中的俄罗斯黑客和网络上潜伏着的武器化PowerShell脚本,花几分钟时间回顾一下安全研究人员今年的创新黑客壮举。

1. 飞机上的黑客

虽然耗时四年,但 Ruben Santamarta 最终证明了他在2014年报告的卫星设备固件重大漏洞是可以被武器化的。这位IOActive的研究员从地面黑进了机上WiFi网络,暗中观察乘客的互联网活动,并侵入机载卫星通信设备,充分展示了他之前得出的漏洞利用理论的正确性,驳斥了当时某些专家的怀疑。

图形 API 规范 Vulkan 1.1.97 发布:新增5个扩展程序

Vulkan 1.1.97 已经发布,该版本主要新增了一些扩展程序,内容如下:

  •   VK_EXT_buffer_device_address - Provides a means to query a buffer device address value for a buffer. That value can then be used to access the buffer memory via PhysicalStorageBufferEXT in GLSL and SPV_EXT_physical_storage_buffer from SPIR-V.

  •   VK_EXT_memory_budget - This exposes the memory used and total memory budgeted for a memory heap. From there it can be estimated for how much total memory from each heap a process is using at a particular moment.

2019年人工智能领域预测与展望

2019年人工智能领域会出现怎样的演变呢?相比之前几年会有什么样的变化呢?

人工智能正主导着全球企业的创新——无论是大型企业集团还是年轻的初创企业。据市场研究报告《从技术和垂直行业看人工智能市场——全球机会分析和行业预测》称,2018年至2025年,全球人工智能市场规模预计将从2016年的40.65亿美元增长至1694.11亿美元,复合年增长率达到55.6%。该报告按技术、行业垂直和地区来划分人工智能市场。人工智能技术被细分为机器学习、自然语言处理、图像处理和语音识别。2016年,在营收方面,机器学习领域主导了人工智能市场,得益于人工智能行业解决方案的需求增加,预计未来几年这一趋势将会延续下去。根据Statista的数据,最大的营收部分来自面向企业应用程序市场的人工智能。

以下是对2019年人工智能领域的预测:

IBM、谷歌、微软、亚马逊以及机器学习API提供商将发布更具包容性的数据集,以应对人工智能内嵌的歧视和偏见问题

2019年物联网技术将与人工智能融为一体

物联网(IoT)是IT基础设施的下一个发展阶段,将是能够处理数百万台甚至数十亿物联网设备的承载大部分数据负载的边缘平台。

但是,这种规模和范围的数据生态系统不会一蹴而就。当人们进入2019年,物联网将在边缘计算方面如何发展?在未来一年将有什么样的发展?

虽然物联网如今开始产生大量数据,但目前的数据量在未来十年发展中可能微不足道。事实上,人们所看到和触摸的每件事物,甚至是自己身体的一部分,在不久的将来会生成连续的数据流,以处理和存储边缘上的元素和集中式数据设施。而在那里,它将被解析、分析、组合,或以其他方式操纵,而在理论上将让公众受益于物联网。

物联网的发展

根据Zebra科技公司的调查,在过去一年中,企业对于物联网基础设施的平均投资为460万美元,比2017年增加了4%。大约84%的企业希望在2021年完成物联网的部署,尽管这可能用语不当,因为物联网不可能完全发展成熟,可能永远也不会,就像现在的数据中心基础设施还在不断发展一样。最可能的情况是,物联网将在未来两年内达到足够成熟的发展阶段,开始对商业模式做出重大贡献。