高性能计算
文章平均质量分 68
慷仔
这个作者很懒,什么都没留下…
展开
-
Halide::Generator生成器使用说明
本次的主要工作就是尝试了HalideGenerator生成器去进行核函数生成以及如何使用不同后端的试验。多计算图调度gpu约束输入输出定义信息自动调度操作生成器调用示例。原创 2022-07-22 20:00:00 · 649 阅读 · 7 评论 -
为Halide安装opencl支持
打开TargetOpenCL开关,我们可以看到使用opencl进行推理的时候,计算时调用的openclapi是如何的。展示的测速结果如下所示,这里可以看出来,虽然都是使用了cpu进行计算,但是还是intel-cpu-opencl速度更快些。compile_jit进行处理操作。查看主机平台支持的设备平台。设置kernel参数。...原创 2022-07-16 15:13:43 · 518 阅读 · 1 评论 -
Intel-Cpu-OpenCL-Runtime-SDK的使用和示例源码编译
2. Intel-Cpu-OpenCL-Runtime的SDK安装确认安装的系统环境,是Linux还是Windows下载对应的SDK安装程序,点击此处的Intel-Cpu-OpenCL-SDK官网下载下载之后可以一键运行安装程序3. 编译指令说明3.1. 运行结果说明输入图片如下所示:输出图片如下所示:3.2. cpp工程的处理流程如下所示:......原创 2022-06-14 20:30:00 · 2133 阅读 · 1 评论 -
Halide示例学习五
Halide示例学习四函数重定义操作RDom下标使用使用RDom计算直方图调度函数更新多阶段重定义操作使用归化函数进行模糊操作内置的归化函数sum使用归约函数的一个复杂例子函数重定义操作#include "Halide.h"#include <stdio.h>using namespace Halide;int main(int argc, char **argv) { Var x("x"), y("y"); Buffer<uint8_t> input原创 2022-05-04 10:25:09 · 369 阅读 · 0 评论 -
Halide示例学习四
Halide示例学习四多阶段计算图多计算图组合示例compute_at使用方法store_root配合compute_at使用方法tile配合compute_at使用方法compute_at和store_at以及之前的混合技使用方法多阶段计算图#include "Halide.h"#include <stdio.h>using namespace Halide;int main(int argc, char **argv) { Var x("x"), y("y");原创 2022-05-02 16:42:43 · 306 阅读 · 0 评论 -
halide调度过程可视化工具
halide调度过程可视化工具简介代码实现调用流程简介该工具主要是为了进行能够对Halide使用了trace之后,打印出来的计算信息进行动态图可视化,如此可以更好地理解Halide的调度过程代码实现下面部分显示了所有的代码实现import cv2import numpy as npimport imageio# 显示Halide计算过程的图像可视化def readtxt(filename:str): f = open(filename) line = f.readlin原创 2022-05-01 18:00:00 · 286 阅读 · 0 评论 -
SRPC初步使用和说明
SRPC初步使用和说明一. RPC介绍和SRPC说明RPC是一种概念,表示远程过程调用,就是指能够让用户在本地调用远程的方法,调用透明,我们不需要知道调用的方法部署在什么地方。SRPC目前是搜狗业务线上使用的企业级RPC系统,是一种RPC框架,具有以下的相关优势:底层基于Sogou C++ Workflow,兼具:高性能、低延迟、轻量级低开发和接入门槛完美兼容workflow的串并联任务流对于已有protobuf/thrift描述文件的项目,可以做到一键迁移支持Linux / MacO原创 2022-04-27 20:02:14 · 2800 阅读 · 1 评论 -
Halide示例学习三
Halide示例学习三改变维度遍历起点多计算图组合示例改变维度遍历起点#include "Halide.h"#include <stdio.h>using namespace Halide;int main(int argc, char **argv) { Func gradient("gradient"); Var x("x"), y("y"); gradient(x, y) = x + y; gradient.trace_stores();原创 2022-04-26 17:53:10 · 203 阅读 · 0 评论 -
Halide示例学习二
Halide的调度实操以及说明原创 2022-04-24 20:45:55 · 456 阅读 · 0 评论 -
Halide示例学习一
Halide示例学习一示例学习基本变量和概念操控图片操作debug操作1示例学习基本变量和概念// 使用Halide,我们只需要包含Halide.h这个头文件就可以了#include "Halide.h"#include <stdio.h>int main(int argc, char **argv) { // Halide::Func代表了一个计算图,代表了每一个像素值需要进行的计算操作 Halide::Func gradient; // Halide::原创 2022-04-19 22:03:13 · 587 阅读 · 0 评论 -
Unix进程的学习
Unix进程的学习一、初步了解父子进程的特性,特别是fork()函数的使用:调用一次,返回两次并发执行相同但是独立的地址空间共享文件 示例程序如下所示:#include "csapp.h"int main(int argc, char** argv){ pid_t pid; int x = 1; pid = Fork(); if (pid == 0){ /*子进程 */ printf("child : x = %d\n"原创 2022-03-15 19:17:46 · 717 阅读 · 0 评论 -
Halide源码编译
Halide源码编译Halide为何要源码编译?源码编译LLVM库源码编译Halide测试Halide是否编译成功生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Halide Halide 算是一种编程模式,主要用于在现代机器上来进行高性能的图像和数组处理。其寄生在C++编程语言中,作为DSL编程语言(特定域语言)来实现高原创 2022-03-10 19:57:38 · 1668 阅读 · 0 评论