SYCL
这是一个针对高性能计算的抽象层,基于标准的C++语言,规范了并行计算的C++接口,在编译阶段针对不同设备进行并行加速。 例如,对于CPU使用OpenMP进行加速,对NVIDIA的GPU利用CUDA或OpenCL+SPIR进行加速,对AMD的GPU则利用ROCm或OpenCL+SPIR进行加速。 这样最明显的好处是同一套代码,可以充分利用不同的设备来实现高性能计算。
对于最近几年大热的机器学习和光线追踪来讲,完全可以利用这个技术写一套代码来实现跨设备和平台😄(是真的吗?)。
实现 | 介绍 |
---|---|
oneAPI DPC++ | 由Intel实现的SYCL,基于LLVM并且是开源的。如果不愿意自己编译可以注册申请Intel的DevCloud直接使用(这年头大厂没有个开发云都不能算大厂啊😏)。 |
ComputeCPP | 这是一个实现最完善的SYCL,由Codeplay Software Ltd.开发,并且已经商用。 |
triSYCL | 开源项目,由Xilinx开发,就是最近被AMD收购的那家公司。 |
hipSYCL | 开源项目,由德国Heidelberg大学的HPC技术专家Alpay Aksel主导开发。 |
相关文章和项目
- SYCL官方资源
- SYCL技术站(Codeplay Software Ltd.开发)
- SYCL & Eigen Starter Project
- Ray-tracing in a Weekend with SYCL: Basic sphere tracing
- A portable GPU path Tracer library running powered by SYCL. (OpenCL/CUDA/OpenMP)
- SYCL版STL
- SYCL版神经网络运算库
- SYCL版经典机器学习算法
- SYCL版Tensorflow
OpenCASCADE发布新版7.5
从新版介绍来看,此次更新变化较多,有超过400个改进和修正。 另外,有一段时间没有访问官网,发现有了很大变化,变得更靓丽了。
有如下关键更新(仅列出个人认为的重点):
关键点 | 个人评价 |
---|---|
基础: | |
为了并行计算重新设计了处理接口 | 终于可以通过并行计算加速了👍 |
支持WebAssembly | 开始支持浏览器端,浏览器端是不可忽视的 |
模型: | |
BRepMesh支持过程化处理 | 对于用户来讲是非常友好的,可以看到模型的处理进度 |
更新二维面片的三角化处理 | |
可视化: | |
渲染使用sRGB色彩 | 有助于提升色彩的准确性 |
支持PBR光照模型材质 | 似乎PBR已经是行业规范了 |
支持法线贴图 | |
数据: | |
支持导出glTF 2.0格式 | |
应用框架: | |
利用多线程处理多个文档 | 每个线程一个文档 |
优化大型修改后的处理 | |
范例: | |
统一鼠标操作 | |
新增WebGL范例 | |
更新JNI范例 | |
全新的Qt版OCCT概览 | |
文档: | |
重构文档并且对用户更友好 |