F2

C++中如何使用CUDA进行高性能大规模矩阵乘法运算?| cublasSgemm for large matrix multiplication on gpu in C++

家住魔仙堡 提交于 2019-12-26 15:57:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文首发于个人博客 https://kezunlin.me/post/ad5c5bd9/ ,欢迎阅读最新内容! cublasSgemm for large matrix multiplication on gpu in C++ <!--more--> Guide Part 1:cpp cuda programming tutorial Part 2: cuda activation kernels Part 3: cublasSgemm for large matrix multiplication on gpu code demo.cu #include <cuda_runtime.h> #include <cublas.h> #include <cublas_api.h> #include <cublas_v2.h> bool CompareFeatureMtoN_gpu(float * featureM, float * featureN, float * result, int count_m, int count_n, int size, int gpu_id) { float *dev_featureM = 0; float *dev_featureN = 0; float *dev_result

TMS320C28x系列TMS320F2837x开发板的LED指示灯、按键

大城市里の小女人 提交于 2019-12-23 14:18:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TL2837x- Easy EVM 是一款基于广州创龙SOM-TL2837 x 核心板所设计的高端单/双核浮点开发板,它为用户提供了SOM-TL2837 x 核心板的测试平台,用于快速评估SOM-TL2837 x核心板的整体性能。TL2837x- Easy EVM 是一款基于广州创龙SOM-TL2837 x 核心板所设计的高端单/双核浮点开发板,它为用户提供了SOM-TL2837 x 核心板的测试平台,用于快速评估SOM-TL2837 x 核心板的整体性能。 LED 指示灯 开发板底板具有 1 个电源指示灯 LED0 (位于电源插座旁) ,以及 4 个用户可编程指示灯,它们分别是 LED1、LED2、LED3 和 LED4 ,原理图如下: 按键 本开发板 有 1 个 系统复位按键 KEY0 、 3 个用户测试用按键 KEY1 ~ KEY3 。原理图如下: 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/3146186

带着新人学springboot的应用10(springboot+定时任务+发邮件)

跟風遠走 提交于 2019-12-20 13:45:59
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>   接上一节,环境一样,这次来说另外两个任务,一个是定时任务,一个是发邮件。      1.定时任务      定时任务可以设置精确到秒的准确时间去自动执行方法。      我要一个程序每一秒钟说一句:java小新人最帅      于是,我就写了一个方法,注解里cron里面的很多星星意思是:每个月、周一到周日 、每个小时、每一分、每一秒都执行一次这个方法。      主配置类加个开启注解      ok,可以了,直接启动应用,不需要浏览器,直接在控制台看到打印的消息:      所以我们要掌握的是@Scheduled注解中属性cron的表达式,大概的就是下图所示:      2.发邮件      来测试一下用springboot发邮件,假如我用qq邮箱向一个老哥的网易邮箱发邮件,基本的逻辑就是:从qq邮箱---------->腾讯qq邮箱服务器------------>网易邮箱服务器-------------->163网易邮箱      所以我们要配置的就是我们qq邮箱的账号密码      第一步:导入依赖      第二步:配置文件(看清楚stmp.qq.com这是SMTP服务器中qq邮件的主机地址,其他邮件有自己的STMP主机地址),最后的那个是建议ssl安全连接的,一定要开启      其中

清理容器的日志

。_饼干妹妹 提交于 2019-12-19 22:09:17
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 7188f2420d4a4e6199 容器的id cat /dev/null > /home/docker/containers/7188f2420d4a4e6199db695ad66b6d3f609fe062c83d744e52085a43b234a4bf/7188f2420d4a4e6199db695ad66b6d3f609fe062c83d744e52085a43b234a4bf-json.log 来源: oschina 链接: https://my.oschina.net/jywm/blog/3145136

复杂报表设计之动态报表

点点圈 提交于 2019-12-16 19:37:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 需求说明 如上图所示,可以需选择不同的分组维度进行数据分析,例如类别、供应商维度; 可以通过用户输入的参数值进行数据动态过滤,例如传入不同供应商、类别的值进行数据查询过滤; 可以选择要显示的附加字段数据; 同时要求显示有排名(每个分组内的数据从大到小显示)、占比(产品占该分组维度总订购量的百分比)。 制作过程: 1. 数据准备 此示例使用脚本数据集完成数据的准备工作,此处使用脚本数据集是处于对组内排名需求的考虑,完整脚本配置如下图所示: 其中, A1:使用 connect 函数连接 demo 数据源 A2:使用 query 函数进行数据的过滤查询 A3:使用 group 和 sort 函数实现组内排序效果,即排名结果 2. 主报表制作 其中, A2:=if(arg1==“供应商 ID”,ds1.group( 供应商 ID:1),ds1.group(类别 ID:1)) 实现动态分组效果 B2:=ds1.sum(订购量) B 列为隐藏列,用于占比的分母值计算 C2:=&D2 排名效果实现,此处使用组内序号的配置即可,数据集准备的数据中已完成排名计算 D2:=ds1.select(产品 ID) 明细数据的展现,跟随 A2 不同的分组维度显示产品明细 E2:=ds1. 订购量 同一个数据集的 select

如何将重复数据突出显示?

会有一股神秘感。 提交于 2019-12-16 18:49:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 将表格中一列数据中重复的,使用特殊颜色突出显示或者使用一些符号标记出来。 例如: 一个供应商,可以邀请别的供应商加入成为联合体,报表要显示所有供应商,然后供应商最后一列显示所有联合体,当联合体供应商跟别的供应商重复时要突出显示,并且加星号。 特殊颜色突出显示 用设计器自带 demo 数据源中的订单明细数据表,使用向导创建一张分组报表,如下图所示。 针对所有订单中的产品 ID 进行判断,如果产品 ID 有重复,那么就将有重复数据的产品 ID 标红显示。 追加一列,在 F2 单元格中设置表达式为 =query(“select count(*) from 订单明细 where 产品 ID=?”,B2)。 通过这个表达式,我们可以对应集算出当前产品 ID 在订单明细表中出现的次数,接下来根据这个统计值对 B2 的前景色做条件判断,B2 的前景色表达式为 if(F2>1,-65536,-16777216)。 经过以上设置,就已经将产品 ID 出现多次的数据实现标红了,为了可以看出效果,我将数据集转为内建,编辑了数据,增加了一条只有一个单独的产品 ID 记录,效果如下图所示。 最后一列数据是辅助判断的,所以我们不需要在报表中显示,可以设置不可见,先选中 F 列,然后在右侧的属性面板中将列的可视勾选去掉。 注意

香蕉派(Banana Pi)BPI-F2S ,四核Linux工业级应用的开源硬件开发板

谁都会走 提交于 2019-12-12 12:15:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 香蕉派BPI-F2S 是 香蕉派团队 and 凌阳科技首次合作开发的一款工业级应用的开发板, 使用SP7021芯片设计.具有高性能,低功耗的特点; 内嵌 Linux Embed 系统,适合于语音图像处理、通信、便携式工业控制设备等应用场合。 自带高性能处理器,特别适合 AI 人工智能,机器视觉等需要强大运算力的应用;外扩 FPGA 模组,可提供硬件加速,芯片 IP 验证及 SOC 科研及教学应用; BPI-F2S开发板集具有集成度高,优良的布线布局,板面积很小,易于现场测试应用 Banana Pi BPI-F2S 应用方向: 1.IoT物联网/工业互联网控制 2.智能语音 3.智能支付系统 4.FPGA 开发与教育 5.车载网络技术与应用 SunPlus SP7021介绍: SunPlus sp7021是一款革命性的SoC,它具有linux级芯片的强大功能和微控制器集成的简单性。配备ARM Cortex-A7四核,ARM926实时内核,8051低功耗内核 作为一款工业级嵌入式Linux芯片,添加大量的特性针对物联网和工业控制应用程序,并提供最终的设计简单,集成度高,并集成了一些外部组件,简化了原理图,和减少了PCB的复杂性。 SP7021是工业控制的SoC解决方案。以低成本满足客户对产品功能的充分需求

HTTP请求行、请求头、请求体详解

百般思念 提交于 2019-12-10 08:27:16
HTTP请求报文解剖 HTTP请求报文由3部分组成( 请求行+请求头+请求体 ): 下面是一个实际的请求报文: ①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过,当前的大多数浏览器只支持GET和POST,Spring 3.0提供了一个HiddenHttpMethodFilter,允许你通过“_method”的表单参数指定这些特殊的HTTP方法(实际上还是通过POST提交表单)。服务端配置了HiddenHttpMethodFilter后,Spring会根据_method参数指定的值模拟出相应的HTTP方法,这样,就可以使用这些HTTP方法对处理方法进行映射了。 ②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL,③是协议名称及版本号。 ④是HTTP的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。 ⑤是报文体,它将一个页面表单中的组件值通过param1=value1&param2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1&param2=value2”的方式传递请求参数。 对照上面的请求报文

Java script中的函数使用方法

混江龙づ霸主 提交于 2019-12-09 12:44:47
前言 什么是函数,就是把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在开发中可以反复调用,函数的作用就是封装一段代码,可以重复使用。 1. 函数的声明及调用 1.1声明 关键字声明 function 函数名(){ // 函数体 } 表达式声明 var fn = function() { // 函数体 } 特点: 函数声明的时候,函数体并不会执行,只要当函数被调用的时候才会执行。 一个函数一般都特定的用来干 一件 事情 1.2 调用 调用函数的语法: 函数名(); 特点: 函数体只有在调用的时候才会执行,调用需要()进行调用。 可以调用多次(重复使用) // 声明函数 function sayHi() { console.log("吃了没?"); } // 调用函数 sayHi(); // 求1-100之间所有数的和 function getSum() { var sum = 0; for (var i = 0; i < 100; i++) { sum += i; } console.log(sum); } // 一段代码可以多次调用 getSum(); getSum(); getSum(); 1.2 参数 为什么要有参数 function getSum() { var sum = 0; for (var i = 1; i <= 100

Java script中的函数使用方法

爷,独闯天下 提交于 2019-12-08 19:49:37
前言 什么是函数,就是把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在开发中可以反复调用,函数的作用就是封装一段代码,可以重复使用。 1. 函数的声明及调用 1.1声明 关键字声明 function 函数名(){ // 函数体 } 表达式声明 var fn = function() { // 函数体 } 特点: 函数声明的时候,函数体并不会执行,只要当函数被调用的时候才会执行。 一个函数一般都特定的用来干 一件 事情 1.2 调用 调用函数的语法: 函数名(); 特点: 函数体只有在调用的时候才会执行,调用需要()进行调用。 可以调用多次(重复使用) // 声明函数 function sayHi() { console.log("吃了没?"); } // 调用函数 sayHi(); // 求1-100之间所有数的和 function getSum() { var sum = 0; for (var i = 0; i < 100; i++) { sum += i; } console.log(sum); } // 一段代码可以多次调用 getSum(); getSum(); getSum(); 1.2 参数 为什么要有参数 function getSum() { var sum = 0; for (var i = 1; i <= 100