zyl910

优化技巧、硬件体系、图像处理、图形学、游戏编程、国际化与文本信息处理。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  --- My_原创

1 2 3 4 5 ··· 9 下一页

摘要:作者: zyl910 发现.NET8增加了Arm架构的多寄存器的查表函数(VectorTableLookup/VectorTableLookupExtension),这给编写SIMD向量化算法带来了方便。 一、指令说明 在学习Arm的AdvSimd(Neon)指令集时,发现它的Lookup(查表)功 阅读全文
posted @ 2024-03-23 22:48 zyl910 阅读(77) 评论(0) 推荐(1) 编辑

摘要:目录支持 x86的Sse系列指令集为 Vector128/Vector256 补充全部的向量方法提供CPU型号信息结果范例1: X86 CPU on Windows结果范例2: Arm CPU on Linux结果范例3: Arm CPU on Mac OS提供所支持的指令集信息结果范例1: X86 阅读全文
posted @ 2024-03-17 17:30 zyl910 阅读(45) 评论(1) 推荐(0) 编辑

摘要:发布 VectorTraits v1.0, 它是C#下增强SIMD向量运算的类库 VectorTraits: SIMD Vector type traits methods (SIMD向量类型的特征方法). NuGet: https://www.nuget.org/packages/VectorTr 阅读全文
posted @ 2023-09-08 00:23 zyl910 阅读(159) 评论(4) 推荐(2) 编辑

摘要:作者: [zyl910](http://www.cnblogs.com/zyl910/) [TOC] ## 一、引言 前面的几篇文章里,介绍了 C# 编写向量算法的各种办法。 虽然也做了一些基准测试,初步验证了向量算法的效率高。但是由于 CPU睿频、其他进程抢占CPU资源 等原因,基准测试的结果不太 阅读全文
posted @ 2023-08-19 18:56 zyl910 阅读(134) 评论(0) 推荐(0) 编辑

摘要:作者: [zyl910](http://www.cnblogs.com/zyl910/) [TOC] ## 一、引言 C#没有直接提供对数据进行重新解释(C++的 reinterpret_cast)的功能,而在使用向量类型时,经常需要做这种操作。例如 [第2篇文章](https://www.cnbl 阅读全文
posted @ 2023-07-30 15:04 zyl910 阅读(307) 评论(2) 推荐(1) 编辑

摘要:作者: zyl910 在前一篇文章(在亚马逊AWS上创建ARM服务器并配置好RDP远程桌面连接的心得)里,我们成功在亚马逊AWS上创建了Ubuntu系统的ARM服务器。现在准备在该服务器上安装 .NET SDK。 一、尝试 apt-get 安装 首先尝试了之前在 x86 处理器的Ubuntu系统上安 阅读全文
posted @ 2022-11-28 22:36 zyl910 阅读(1167) 评论(1) 推荐(1) 编辑

摘要:作者: zyl910 听说亚马逊AWS上能创建ARM服务器,且亚马逊云服务器能免费使用12个月,于是我尝试了一下。还尝试了在创建的ARM服务器上装好了Ubuntu桌面,并配置好RDP远程桌面连接,从而能够通过Windows的“远程桌面连接”程序来远程操作它。 其实网上的资料已经很详细了,故摘录其他文 阅读全文
posted @ 2022-11-27 22:16 zyl910 阅读(1281) 评论(0) 推荐(0) 编辑

摘要:作者: zyl910 一、背景 从.NET Core 1.0(或 .NET Framework 4.5、.NET Standard 1.0)开始,.NET中便可以使用具有SIMD硬件加速的向量类型了。 其中大小与硬件相关的向量(Vectors with a hardware dependent si 阅读全文
posted @ 2022-11-20 21:51 zyl910 阅读(358) 评论(0) 推荐(0) 编辑

摘要:作者: zyl910 目录一、背景1.1 循环展开简介1.2 测试准备二、在C#中使用2.1 对基础算法做循环展开2.1.1 测试结果:2.2 对 Vector4 版算法做循环展开2.2.1 测试结果:2.3 对 Vector<T> 版算法做循环展开2.3.1 测试结果:2.4 对 Avx版算法做循 阅读全文
posted @ 2022-11-16 23:57 zyl910 阅读(531) 评论(4) 推荐(0) 编辑

摘要:作者: zyl910 一、缘由 在 上一篇文章,介绍了.NET的2种向量类型(Vector4、Vector<T>)。本文来介绍第3种。 .NET Core 3.0 增加了对内在函数(Intrinsics Functions)的支持,并增加了第3种向量类型—— 3. 总位宽固定的向量(Vector o 阅读全文
posted @ 2022-09-18 22:25 zyl910 阅读(547) 评论(2) 推荐(2) 编辑

摘要:作者: zyl910 一、缘由 从.NET Core 1.0开始,.NET里增加了2种向量类型—— 大小固定的向量(Vectors with a fixed size)。例如 结构体(struct) Vector2、Vector3、Vector4。 大小与硬件相关的向量(Vectors with a 阅读全文
posted @ 2022-08-20 11:55 zyl910 阅读(2326) 评论(1) 推荐(8) 编辑

摘要:作者: zyl910 一、缘由 上一篇文章“用于分析26种画布合成模式(globalCompositeOperation)的演示页面”给出了便于测试的演示页面,现在探究一下合成模式的计算公式。 在网上搜索了一下,发现W3C《Compositing and Blending Level 1》对合成模式 阅读全文
posted @ 2022-08-07 00:14 zyl910 阅读(586) 评论(0) 推荐(0) 编辑

摘要:作者: zyl910 一、缘由 Html5画布(Canvas)的上下文(Context2D)提供globalCompositeOperation属性,可用于控制图形的绘制时的合成模式。 查了一下文档,发现多达共有26种合成模式。且文字介绍很简略,部分模式看不太懂。 于是我编写了一个功能丰富的演示页面 阅读全文
posted @ 2022-07-30 23:29 zyl910 阅读(753) 评论(0) 推荐(0) 编辑

摘要:作者: zyl910 一、原初 .NET平台很早就提供了条件编译的语法(#if)。 但是当时官方未制定标准的条件编译符号(Conditional compilation symbols)的名称,而是让各程序自行约定。 由于早期只有“.NET Framework”这一种平台,且每次升级都是向下兼容的。 阅读全文
posted @ 2022-04-16 17:19 zyl910 阅读(2654) 评论(0) 推荐(1) 编辑

摘要:作者: zyl910 一、缘由 上一篇文章演示了无需解压的替换zip内文件的技术原理。本文准备编写一个实际的例子——演示修改zip内的txt文件,在后面追加文本。 二、封装zip内文件处理的函数 因为替换zip内文件是一个比较常用的功能,于是考虑将zip压缩流的处理封装为一个函数。这就实现了解耦,使 阅读全文
posted @ 2020-08-03 21:38 zyl910 阅读(1265) 评论(0) 推荐(0) 编辑

摘要:作者: zyl910 一、缘由 有些时候需要替换zip内的文件。 网上的办法大多是——先解压,然后对解压目录替换文件,最后再重新压缩。该办法需要比较繁琐,且需要一个临时目录。 于是想找无需解压的方案。 后来找到利用 ZipInputStream、ZipOutputStream 实现该功能的办法。 二 阅读全文
posted @ 2020-07-16 20:12 zyl910 阅读(1541) 评论(0) 推荐(0) 编辑

摘要:作者: zyl910 一、缘由 现在zip类的文件越来越多了,例如jar、docx。 有时我们需批量处理这些文件中的数据,若都是手工操作的话就太麻烦了。于是考虑编程自动处理。 Java提供了ZipInputStream等zip的操作类。但是有些内容比较抽象,没有代码范例的话有点难以理解。例如zip中 阅读全文
posted @ 2020-07-14 21:02 zyl910 阅读(1113) 评论(0) 推荐(0) 编辑

摘要:一、问题 今天遇到了一个神奇的问题——表中有数据,但select count( )的结果为0。 这个问题最初的表现形式是“查询报表没有分页”。 最开始还以为是java端的问题。后来才发现,查分页的sql语句是返回0的。 随后将该sql语句放到PLSQL里运行,发现也是返回0条。 数据库版本是 Ora 阅读全文
posted @ 2018-08-11 15:54 zyl910 阅读(3244) 评论(1) 推荐(0) 编辑

摘要:作者: "zyl910" 一、缘由 在项目开发时,因为运行环境的不同,导致有时得分别为不同的环境,切换配置参数打不同war包。但手工切换配置文件的话,不仅费时费力,而且容易出错。 有些打包工具支持配置切换。这样我们只要配好有那几组参数,然后便可分别打war包了。但该办法还是存在多个war文件易搞错的 阅读全文
posted @ 2018-05-25 20:36 zyl910 阅读(3790) 评论(0) 推荐(0) 编辑

摘要:作者: "zyl910" 一、缘由 BLOB是指二进制大对象,也就是英文Binary Large Object的缩写。 在很多时候,我们是通过其他编程语言(如Java)访问BLOB的字节数据,进行字节级的操作的。 但是有些时候工作量很小,感觉专门为BLOB字节级操作而专门开发个程序,是比较麻烦的。于 阅读全文
posted @ 2018-05-17 20:50 zyl910 阅读(4879) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 9 下一页