自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

彡丶氵的博客

铁杵磨针

  • 博客(22)
  • 资源 (4)
  • 收藏
  • 关注

原创 SGX Enable

intel SGX enable 开启 Software Controlled Disabled

2022-01-27 16:39:50 11238 6

原创 TVM python中relay.build流程

在用TVM优化过程中,常见demo如下图:relay.build背后的调用机制梳理如下:python中的build函数实现如下,此方法实际调用了BuildModule类的build方法, BuildModule获取的C++函数build方法,此处涉及混合编程: _build_module._BuildModule() 来自于这句注册: tvm._ffi._init_api("relay.build_module", __name__) self.mod

2020-08-31 16:50:36 1040

原创 TVM函数注册机制

以tvm.graph_runtime.create为例宏展开#define TVM_REGISTER_GLOBAL(OpName) TVM_STR_CONCAT(TVM_FUNC_REG_VAR_DEF, __COUNTER__) = ::tvm::runtime::Registry::Register(OpName) 扩展到: TVM_STR_CONCAT(TVM_FUNC_REG_VAR_DEF, __COUNTER__) = ::tvm::runtime::Registry::Re

2020-08-31 16:28:46 808

原创 tvm中使用python调用C++函数流程

1 通过导入模块初始化 1) 在tvm的package的__init__.py中,有下面几个和初始化相关的模块导入: from ._ffi.runtime_ctypes import TypeCode from ._ffi.function import Function from ._ffi.base import TVMError, __version__ from .api import * 2) 导入tvm相关链接库2 在tvm/_ffi/runtime_ctypes..

2020-08-31 16:17:32 1033

原创 TVM 混合编程之调试手段

操作记录1 开启C++日志 export DMLC_LOG_DEBUG=1 export DMLC_LOG_STACK_TRACE_DEPTH=62 开启debug i. Config.cmake 中,修改选项, 106:set(USE_GRAPH_RUNTIME_DEBUG ON) 195:set(USE_RELAY_DEBUG ON) ii. Cmake 命令:cmake -D CMAKE_BUILD_TYPE=DEBUG ..3 python中开启日志记录: i

2020-08-31 16:14:44 1461 5

原创 代码角度理解SGX的认证机制(四):SGX密钥相关

英特尔SGX认证涵盖了在安全区中运行的软件的身份(例如MRENCLAVE和MRSIGNER),不可测量的状态(例如安全区模式(例如,调试与生产),安全区要与其自身关联的其他数据( (例如,描述软件配置的清单),以及与平台TCB的密码绑定。 该信息被捆绑到称为报告的数据结构中。 利害关系方检查报告中包含的属性,以决定飞地的可信度。 密钥导出图示(具体素材请看:SGX Key Properties) Root Provisioning Key(RPK):由iKGF生成的key,intel和SG..

2020-07-08 11:51:08 3322 1

原创 代码角度理解SGX的认证机制(三):远程认证

SGX 远程证明 和EPID证明协议不同,SGX不允许信任各方充当EPID验证的角色。而是由intel提供一个全球在线验证机构叫做intel 认证服务 (IAS)。 EPID认证协议涉及两个intel控制的服务,和两个独立单元。两个intel控制的服务为一个QE和一个IAS,充当认证提供者和验证者。两个独立单元中,ISV认证enclave充当认证提供者,证明服务充当认证者。 The Quoting Enclave:提供远程认证的一个架构enclave,佳作Quotes。它被平台的attestat.

2020-07-08 11:32:42 4417

原创 代码角度理解SGX的认证机制(二):配置

平台配置 配置过程是指SGX设备向intel证明其权威性以及其CPU SVN和其他系统组件属性的过程,以获取反映其SGX真实性和TCB版本的Attestation key。该过程在平台初始化阶段完成,在attestation key丢失或者TCB 恢复的时候才会重新配置。TCB 恢复是因为发布更新以补救某些系统组件(例如固件,BIOS或体系结构安全区漏洞)的关键安全问题。 attestation key :是SGX 系统的核心,信赖方将有效的认证签名作为英特尔签名的证书来信任,以保证平台的真实...

2020-07-08 11:31:00 1880 2

原创 代码角度理解SGX的认证机制(一):本地认证

一、基本概念1、认证(attestation): 是指一个enlave中的程序向其他enclave证明其完整性和真实性的过程。intel SGX认证即是一个在SGX平台上运行的ISV enclave(证明者)希望来向远程enclave(验证者)证明其身份(MRENCLAVE)、和确实是在真实的SGX处理器上正确的隔离执行。 1)本地认证:同一个平台上的两个不同enclave之间认证 2)远程认证:enclave所属平台外的软件验证其真实性2、MRENCLAVE 和 MRSIG...

2020-07-08 11:23:11 4659

原创 笔试题

在C语言中,要求运算数必须是整型的运算符是( D )A:/B:++C:!=D:%若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假"。则以下不能满足要求的表达式为( C )A:A%2 == 1B:! (A%2==0)C:! (A%2)D:A%2以下程序的运行结果是( B )。int main( void ){int m = 5;if (...

2019-06-18 16:52:24 407

原创 OpenSSL 堆栈操作及其安全堆栈实现

读openssl的源码一直可以看到DEFINE_STACK_OF这个宏,它被定义在safestack.h这个头文件中。openssl的堆栈实现共涉及到三个文件,stack.h、stack.c 和safestack.h;其中stack.h、stack.c 实现了stack_st结构体,及对该结构体对象进行操作的一系列以OPENSSL_sk开头的函数,主要有:堆栈拷贝(OPENSSL_sk_dup)、...

2018-10-21 23:25:55 1614

原创 一道google笔试题

题目:有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD。初始都为空。现要让四个文件呈如下格式:A:1 2 3 4 1 2....B:2 3 4 1 2 3....C:3 4 1 2 3 4....D:4 1 2 3 4 1....三种锁策略耗时不同,第二种最快,循环两百万次耗时在五十多秒(win10+VC201...

2018-10-02 02:22:48 162

原创 百度语音识别api QT window下 调试应用

使用百度提供的C++sdk调试语音识别1. 安装工具有perl(安装openssl),QT(编写QT界面程序),VS2017(用于编译openssl,QT使用其编译器),curl(百度语音sdk需要此库的服务), jsoncpp2. openssl安装见我的另一篇文章 VS2017+OpenSSL_1_1_0-stable VC-WIN64A编译安装  Ubuntu16.04编译安装,链接...

2018-09-08 05:21:40 1737 2

转载 加密解密,数字摘要、数字签名、数字证书等概念形象解释

一、加密算法  加密算法,简而言之就是一种能够把原始内容加密,然后再解密获得原始内容的算法。加密算法可以划分为如下两类:1.对称加密  对称加密可以理解为加密与解密都使用同一套算法(即密钥)。  上图是一个经典对称加密算法。采用字母移位的办法对原始字符串进行转换,解密时再根据之前的移位,转换为原始字符串。可以根据此种算法,设计一个密码机,输入移位n,自动进行编码与解码。...

2018-08-11 22:22:43 1526

原创 VS2017+OpenSSL_1_1_0-stable VC-WIN64A编译安装 Ubuntu16.04编译安装

1 window安装    1)安装perl, http://strawberryperl.com.    2)新建openssl库文件的存放目录    3)打开VS2017 X64的控制台,    4)执行VS2017环境配置脚本,否则编译会报缺少nmake.或者ml64的错误        X64环境执行vcvars64.bat,X32环境执行vcvars32.bat,      ...

2018-08-04 19:40:47 1868

转载 QT绘图系统

一、QT绘图原理    Qt4中的2D绘图系统称为Arthur绘图系统,可以使用相同的API在屏幕上和绘图设备上进行绘制,主要基于QPainter、QPainterDevice和 QPainterEngine。QPainter执行绘图操作,QPainterDevice提供绘图设备,是一个二维空间的抽象,QPainterEngine提供一些接口。QPainter用来执行具体的绘图相关操作

2017-11-20 11:35:48 631

转载 QT开发 Model/View/delegate/selection

一、Model/View框架简介1、Model/View框架核心思想    Model/View框架的核心思想是模型(数据)与视图(显示)相分离,模型对外提供标准接口存取数据,不关心数据如何显示,视图自定义数据的显示方式,不关心数据如何组织存储。    Model/View框架中数据与显示的分离,可以允许使用不同界面显示同一数据,也能够在不改变数据的情况下添加新的显示界面。

2017-11-20 10:46:06 692

转载 QML与Qt C++ 交互机制探讨与总结

介绍QML和 C++对象可以通过,signals,slots和 属性修改进行交互。对于一个C++对象,任何数据都可以通过Qt的 Meta-Object System暴露给QML(何总方法,后面介绍),同时,任何的QML对象数据通过Meta-object system在C++端直接访问。在实际的项目中很多地方会用到QML与Qt C++交互。在这里总结了若干方法供大家参考,欢迎大家指导和拍

2017-11-15 11:22:21 280

转载 linux SVN命令

(如果是第一次提交文件,很可能会出现“svn:'.'不是工作副本”,即当前目录不是工作副本,这个时候需要用到import:eg:svn import . url)1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本

2017-11-14 09:02:59 369

原创 Cannot run compiler ‘cl‘. Maybe you forgot to setup the environment?

配置环境:Windows10家庭版64 Qt 5.9.1 Prebult组件msvc2017 64位, Visual Studio 2017社区版。问题现象:QT语言更新翻译时 lupdate.exe报错:Cannot run compiler 'cl'. Maybe you forgot to setup the environment? 项目编译,调试,运行没有问题解决...

2017-10-15 17:53:03 13894 6

转载 事件过滤器

按下tab键事件处理  正常情况下,被QWidget看成是去移动 键盘焦点,但少数窗口部件需要自行解释。 让我们试着设想已经有了一个CustomerInfoDialog的小部件。CustomerInfoDialog 包含一系列QLineEdit. 现在,我们想用空格键来代替Tab,使焦点在这些QLineEdit间切换。 一个解决的方法是子类化QLineEdit,重新实现keyPressEvent(

2017-09-29 10:01:56 231

原创 QT TCP 读数据的几种方式

1、QTcpSocket 继承于QAbstractSocket继承于QIODevice  2、QTcpSocket 提供的几种接收和发送数据方法write ( const char *, qint64 ) : qint64write ( const char * ) : qint64write ( const QByteArray & ) : qint64wri

2017-09-28 09:12:58 4872

initel SGX Software Controlled 开启工具

https://blog.csdn.net/qq_36517978/article/details/122719988 在BIOS支持Intel SGX Linux系统上启用Intel SGX,但没有提供明确的选项来启用它。 这些系统只能通过“软件启用”过程来启用Intel SGX。

2022-01-27

百度语音识别api QT window下 调试应用

使用百度提供的C++sdk调试语音识别功能,安装工具有perl(安装openssl),QT(编写QT界面程序),VS2017(用于编译openssl,QT使用其编译器),curl(百度语音sdk需要此库的服务), jsoncpp,代码已调试通过

2018-09-08

VC-WIN64A openssl1.1.0源码及编译后库文件

VS2017+OpenSSL_1_1_0-stable VC-WIN64A编译后的库文件,带源码

2018-08-04

oracle异常处理归纳.docx

归纳整理部分Oracle异常问题,及解决办法 1、 ORA-12651:TNS:没有监听器 2、 ORA:-12545:因目标主机和对象不存在,连接失败 3、。。。。。。。。

2017-09-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除