- 博客(471)
- 资源 (36)
- 收藏
- 关注
翻译 在分布式LINUX集群上实现1000000个实体的模拟4
一个最终的基于Perl的脚本将CSV格式的文件取出,并将解码后的数据插入到综合数据库中的适当表格中。对冗余的需求以及进一步证明分布式高性能计算的可行性的愿望促使将256个节点(每个节点两个处理器,每个节点4GB RAM)分成两台机器,一台在夏威夷的MHPCC,另一台在俄亥俄的ASCMSRC。被截获的消息被本地存储在计算节点上。然而,光速延迟单从弗吉尼亚到毛伊岛大约是100毫秒的顺序,这对操作员来说是令人迷惑的,并不是在仿真性能上,而是在图形用户界面(GUI)问题上,比如绘制的圆圈响应鼠标/光标移动的延迟。
2024-03-18 10:09:58 5
转载 RCS数据可视化
至于a,b如何选取需要一些技巧。这样的文件,其中0表示theta角度,范围是0-PI , 10表示fa角度,范围是0-2PI。利用 E(total)的最大值和最小值来进行色标的定义,然后计算所有的仿真结果的E(total)对应的Color颜色数值。需要注意的问题:绘制时候,对经度和纬度要进行约束,即纬度的PI和经度的2Pi,否则会出现缺口。假设有这样的仿真文件,每间隔5度或者10度,来记录E(theta)和E(fa)。选取合适的半径,如果想绘制出比较好的RCS效果,半径的选取就很重要了。
2024-03-15 15:43:00 7 1
翻译 在分布式LINUX集群上实现1000000个实体的模拟3
对MeshRouters进行了类似的运行,使用相同的术语来描述节点在网格上的相对分离,即使实际所需的跳数成为一个错误的名称,因为MeshRouters始终通过相同数量的路由器(Gottschalk 2005)。随着底层物理消息路径的增长,TreeRouter的性能显著下降,而MeshRouter的规模与点对点性能基本上不受整体问题规模的影响。随着底层物理消息路径的增长,TreeRouter的性能显著下降,而MeshRouter的规模与点对点性能基本上不受整体问题规模的影响。3.1收集数据处理的基线方案。
2024-03-15 11:01:30 14 1
翻译 在分布式LINUX集群上实现1000000个实体的模拟1
记录的数据量和所需的数据库查询性能要求重新设计原始记录器系统的单片数据库,使其成为分布式的,并结合几个先进的概念。目前的RTI-s帧工作提供了这样的路由器连接在一个简单的树拓扑结构,这是成功的中小规模的模拟,但面临着许多重大的限制在广域网上的大型模拟。为了解决这些问题,这项工作扩展了RTI-s软件路由器基础设施,以适应更复杂、更通用的路由器拓扑结构,包括现有的树框架和SF Express中使用的全连接网格拓扑的新泛化。这些新的标准和额外的要求推动了两种新的路由器设计的发展,Mesh和Tree路由器。
2024-03-12 11:18:01 16 1
转载 什么是内存屏障
通过上文介绍,CPU是存在指令重排(乱序执行)的,所以如果要防止CPU的指令重排,提出了内存屏障这个概念,内存屏障(Memory Barrier)是一种硬件或软件机制,用于控制内存操作的顺序和可见性。它们被用于多线程编程和并发控制中,确保对共享数据的操作按照预期顺序执行,并保证线程间的数据同步。内存屏障最主要的作用就是保证了内存操作的顺序性极可见性。
2024-02-25 08:48:55 72 1
转载 超简单的卸载vs2015总结(亲测可用)
1、在C盘的搜索框内输入vs_enterprise.exe(我的是企业版,如果是社区版,那就是vs_community.exe;2、右击该程序,点击“打开文件的所在位置”,记住并复制该路径,比如我的路径为:C:\ProgramData\Package Cache{1a4d4608-a36d-4dc7-accd-206e23253076}4、再输入vs_enterprise.exe /uninstall /force(会跳出vs窗口,等它运行结束就行了,时间有点长。5、完成上述四步,即可完成卸载。
2023-12-22 10:31:04 53
原创 vs2015安装卡住的解决方法
1、在everything搜索框内输入vs_enterprise.exe(我的是企业版,如果是社区版,那就是vs_community.exe;如果是专业版,那就是vs_professional),输入后进行搜索,搜索的结果如下。如果要原始安装包就在原始安装包下面寻找。2、再输入vs_enterprise.exe /uninstall /force(会跳出vs窗口,等它运行结束就行了,时间有点长。大概率原因是之前安装的vs2015没有卸载干净。卸载vs相当头痛,这里说一个比较简单的方法。
2023-12-22 10:28:16 132
转载 WGS84与CGCS2000坐标的精密转换方法和程序实现
因此,将WGS84坐标转换至CGCS2000坐标,需要进行参考框架转换和历元改正,即利用不同参考框架之间的转换参数进行参考框架转换,利用板块运动速度场模型进行历元改正。NNR-NUVEL1A反应的是大时间尺度上板块的稳定性、刚性运动,其采用的数据在中国也比较少,通过NNR-NUVEL1A模型计算得到的中国大陆速度场残差在E方向和N方向最大值都超过30mm/a,整体RMS也接近10mm/a,说明NNR-NUVEL1A模型只扣除了中国大陆速度场的部分运动趋势,因此不能完全反映中国大陆的整体运动。
2023-12-06 15:41:54 1263
原创 怎么清理c盘空间
第一打开运行,输入%temp%点击确定,这都是缓存文件,全选后删除,回收站清空;第二运行中输入cleanmgr,进行扫描,选择临时文件和使用不到的文件,删除;第三使用安全卫士软件,进行清理垃圾,第四,windows日志文件太大,在windows事件管理器中删除事件日志,并设置事件日志大小及覆盖模式,一般20M左右。
2023-08-30 18:32:25 168
转载 Windows 取证之EVTX日志
日志文件包含一个4KB的文件头加后面一定数量的64KB大小的块,一个块中记录一定数量(大约100条)的事件记录。每条事件记录包含其创建时间与事件 ID(可以用于确定事件的种类),因此可以反映某个特定的时间发生的特定的操作,取证人员可以根据日志文件来发现犯罪的过程。记录应用程序或系统程序运行方面的日志事件,比如数据库程序可以在应用程序日志中记录文件错误,应用的崩溃记录等。文件的记录满了,日志服务会覆盖最开始的记录,从头开始写入新的记录。事件查看器可以查看当前主机的事件日志,也可以打开保存的。
2023-08-30 18:23:04 882
转载 std::string与QString的异同
std::string和QString之间的主要区别之一是它们对Unicode的支持。它在功能上类似于std::string,但提供了额外的功能,如Unicode支持、隐式共享和引用计数。std::string使用连续的内存块来管理其内存,而QString使用隐式共享和引用计数来管理其内存。在用法方面,std::string更常用于标准C++应用程序,而QString更常用于Qt应用程序。std::string和QString都是C++中的字符串类,但它们在功能和用法上有一些不同。
2023-08-23 18:12:12 304
转载 QVariant源码解析
Qt会现在types这个数组里面查找name,是否有,如果没有(最后一个0也是个标志位),再到customeTypes里面找,依然没有找到,就往ct里面append一个,ct就是存储custometypes的vector了。好了,这基本上就是qRegisterMetaType的一个思想了,存储了Qt自带的类型(types这个全局变量的数组(types是static类型的,即内部链接的),自定义类型在custometypes里面。// 定义一个构造函数,接受参数T*的值,返回void*
2023-08-23 16:15:29 173
原创 C++查看数据类型
std::cout << "num 的数据类型是:" << typeid(num).name() << std::endl;std::cout << "str 的数据类型是:" << typeid(str).name() << std::endl;std::cout << "pi 的数据类型是:" << typeid(pi).name() << std::endl;使用`typeid`运算符需要包含头文件`<typeinfo>`。在C++中,可以使用`typeid`运算符来查看数据类型。
2023-07-13 17:11:45 2059
转载 VC++的Unicode编程(宏UNICODE与_UNICODE
于是,各个国家纷纷制定了自己的文字编码规范,其中中文的文字编码规范叫做“GB2312—80”,它是和ASCII兼容的一种编码规范,其实就是利用扩展ASCII没有真正标准化这一点,把一个中文字符用两个扩展ASCII字符来表示,以区分ASCII码部分。在Unicode里,所有的字符被一视同仁,汉字不再使用“两个扩展ASCII”,而是使用“1个Unicode”,也就是说,所有的文字都按一个字符来处理,它们都有一个唯一的Unicode码。在ANSI中,一个字符(char)的长度为一个字节(Byte)。
2023-07-11 16:49:56 496
原创 SVN服务器仓库更换文件夹
打开VisualSVN Server.msc,在VisualSVN Server(Local)上右键点击,单击stop。在Storage 页中,有默认的Repositories Root地址,将原有地址下的所有文件复制到目标文件夹。在VisualSVN Server(Local)上右键点击:Propeties,打开属性对话框。改完上面的,在VisualSVN Server(Local)上右键点击start。在Storage 页中,点击Browse…,选择你新的版本库存放地址即可。
2023-07-10 11:56:17 832
原创 Vs2010安装问题,请确保已安装Microsoft SQL Server Compact 3.5
先装SSCERuntime_x86-chs.msi,再装SCERuntime_x64-chs.msi,:vs2010安装光盘,搜索 SSCERuntime_x86-chs.msi,重新安装之。另外发现一个SSCEVSTools-chs.msi果断安装。再打开vs2010,这个该死的对话框终于消失了。
2023-07-03 19:50:46 1043
原创 VS2015 修复失败
Repair/Modify operation did not finish successfully. “Setup error – repair/modify operation did not finish successfully.” message shown when starting Visual Studio 2015When starting Visual Studio 2015, the following message is shown“Setup error – repair/mo
2023-07-03 19:39:27 174
转载 Vs2015新建项目空白一片
注册位于 \Common7\IDE\ProjectTemplates 或 \Common7\IDE\ItemTemplates 中的项目或项模板,这样就可以通过“新建项目”和“添加新项”对话框访问它们。最近在研究 workflow fundation ,但是在安装了他的extensions之后,发现VS2005 新建项目一片空白,除开workflow其他的项目模板全部丢失,新建项目对话框中空空如也。
2023-07-03 19:10:02 593
原创 Qt共享内存实现进程间消息队列
在Qt 5.9中,可以使用Qt的跨进程通信机制来实现进程间的消息队列。请注意,这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。另外,Qt还提供了其他跨进程通信的机制,如QtDBus和QtRemoteObjects,你也可以根据实际情况选择使用。这样,服务器端就可以接收到客户端发送的消息,并进行处理。注意,服务器端和客户端都需要连接到相同的共享内存和信号量。首先,你需要创建一个消息队列的服务器端和客户端。服务器端负责接收和处理消息,客户端负责发送消息。// 连接到共享内存和信号量。
2023-06-20 18:11:35 2089
转载 关于VisualStudio性能分析数据中的独占样本数和非独占样本数的意义
当然,就算看不懂两个数据表示的具体意义也无碍于我们分析性能瓶颈,反正数值大的肯定是性能瓶颈。为了通俗的解释这两个指标,我这里写了两个简单的函数Foo1和Foo2,其中Foo1调用了Foo2,其它的函数体是一样的。对于Foo2,它的独占样本数和非独占样本数是一样的;而对于Foo1它的非独占样本数是独占样本数的两倍。非独占转换次数: 在此函数(包括此函数调用的函数)的所有实例中发生操作系统(转换)事件的次数。非独占样本数: 为函数收集的性能数据的总数,其中包括该函数调用的其他函数的性能数据。
2023-05-25 17:05:47 147 1
原创 Stl map的高效删除
这种删除方式也是STL源码一书中推荐的方式,分析 mapStudent.erase(iter++)语句,map中在删除iter的时候,先将iter做缓存,然后执行iter++使之指向下一个结点,再进入erase函数体中执行删除操作,删除时使用的iter就是缓存下来的iter(也就是当前iter(做了加操作之后的iter)所指向结点的上一个结点)。需要注意的是,使用erase()函数删除元素时,要避免在循环中使用迭代器进行删除操作,因为这会导致迭代器失效,从而引发未定义的行为。1. 通过迭代器删除。
2023-05-19 11:42:39 3008
转载 显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn区别?
在使用深度学习框架的过程中一定会经常碰到这些东西,虽然anaconda有时会帮助我们自动地解决这些设置,但是有些特殊的库却还是需要我们手动配置环境,但是我对标题上的这些名词其实并不十分清楚,所以老是被网上的教程绕得云里雾里,所以觉得有必要写下一篇文章当做笔记供之后参考。
2023-05-19 11:04:53 924
转载 大地经纬度坐标与地心地固坐标的的转换
经纬度坐标用的虽然多,但是很多人并没有理解经纬度的几何意义:纬度是一种线面角度,是坐标点P的法线与赤道面的夹角(注意这个法线不一定经过球心);通过式(5)式(6),可以计算椭球上某一点的坐标。显然,两者都是表达的都是空间中某点P,只不过一个是经纬度坐标(BLH),一个是笛卡尔坐标(XYZ);printf("转回大地经纬度坐标:%.10lf\t%.10lf\t%.10lf\n", x, y, z);printf("原大地经纬度坐标:%.10lf\t%.10lf\t%.10lf\n", x, y, z);
2023-04-22 06:57:17 1473
原创 QHash存储std::string
QHash是Qt中的哈希表数据结构,它可以存储键值对,并且能够快速根据键查找对应的值。QHash的实现基于开链法,即将哈希冲突的元素以链表的形式存储在同一个桶中。QHash的使用非常简单,可以通过下标运算符[]或insert()方法向其中插入键值对,也可以通过value()方法获取指定键对应的值。例如:需要注意的是,QHash中的键值对是无序的,并不能保证插入顺序就是遍历顺序。
2023-03-29 14:22:25 414
原创 Qt序列化使用方式3-QDataStream和QByteArray
QDataStream和QByteArray都是Qt中用于序列化和反序列化数据的类。QDataStream可以将Qt数据类型(如QString、QByteArray等)和自定义数据类型序列化为二进制格式,并写入文件或网络流中。同时,也可以从文件或网络流中读取二进制数据并反序列化成相应的数据类型。QByteArray则是一个动态数组,可以方便地存储二进制数据。它提供了一些方法来访问和操作字节数组中的数据,例如append()、at()、mid()等。
2023-03-29 06:55:21 2373
原创 Qt序列化使用方式2-QDataStream
QDataStream可以将Qt数据类型(如QString、QByteArray等)和自定义数据类型序列化为二进制格式,并写入文件或网络流中。
2023-03-29 06:40:57 364
原创 Qt序列化使用方式1
QDataStream可以将Qt数据类型(如QString、QByteArray等)和自定义数据类型序列化为二进制格式,并写入文件或网络流中。QJsonDocument则可以将JSON格式的数据序列化为Qt数据类型(如QVariant、QJsonObject等)。Qt提供了多种序列化方式,常用的包括:QDataStream和QJsonDocument。
2023-03-29 06:37:24 280
原创 WLAN速度突然变慢
上面方法可以帮你解决电脑网络的一些问题。当然,网络异常也可能是网卡驱动不匹配导致,可以尝试更新网卡驱动。控制面板 >设备管理器 >网络适配器 >右键点击网卡设备 >更新驱动程序。
2023-03-25 17:13:33 589
原创 Qt SQLite数据库多线程的使用方式3
在需要使用多线程读写数据库的场景中,可以考虑使用Qt的信号槽机制,将数据库操作放到独立的线程中执行。具体地,在子线程中创建新的数据库连接并操作数据库(同样可以使用。等类),将查询结果或操作结果通过信号/槽机制传递回主线程并更新UI界面。// 将主窗口与DBThread线程的信号/槽连接起来。// 启动一个新的线程执行数据库操作。// 在子线程中打开数据库连接。// 在子线程中执行数据库操作。// 在子线程中关闭数据库连接。// 在主线程中更新UI界面。// 新建一个线程类,用于执行数据库操作。
2023-03-25 10:34:00 3128
原创 OpenGL渲染管线介绍
OpenGL是跨平台计算机图形应用程序的应用规范,广泛应用于仿真、游戏、GIS系统等领域,实现二三维图形的渲染。OpenGL渲染过程需要经历CPU、GPU两个阶段,CPU中进行图形计算,完成之后调用OpenGL开发接口在GPU中创建缓存区缓存绘制数据,将生成的几何数据(顶点坐标、几何单元等)输入到一系列着色器中进行处理。
2023-02-13 22:59:20 1002
原创 QT 实现图片旋转及缩放
Qt可显示基本的图像类型,利用QImage、QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放、旋转)。1、Qt可显示的图像类型参考Qt的帮助文档,可支持的类型,即可以直接读取并显示的格式有BMP、GIF、JPG、JPEG、PNG、TIFF、PBM、PGM、PPM、XBM、XPM。2. Qt用如何显示图像通常用QLabel显示图像,QLabel类有setPixmap()函数,可以用来显示图像。也可以直接用QPainter画出图像。
2022-12-08 21:56:18 3514
原创 神经网络中的常用算法-BP算法
反向传播BP算法是 "误差反向传播" 的简称,也称为backprop,允许来自代价函数的信息通过网络向后流动,以便计算梯度。反向传播是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。反向传播这个术语经常被误解为用于多层神经网络的整个学习算法。实际上,反向传播仅指用于计算梯度的方法。而另一种算法,例如随机梯度下降法,才是使用该梯度来进行学习。
2022-11-08 23:28:39 3522
原创 Qt4和Qt5中文乱码问题的解决
Qt4升级到Qt5由于setCodecForLocale(), setCodecForCStrings()和setCodecForTr()函数无法使用会带来一些乱码的问题。
2022-11-05 22:11:51 1505
原创 神经网络中的常用算法-梯度下降算法的优化
优先选择学习速率自适应的算法如RMSprop和Adam算法,目前比较常用的应该仍是 Adam ,大部分情况下其效果是较好的。还有一定要特别注意学习速率的问题。其实还有很多方面会影响梯度下降算法,如梯度的消失与爆炸,这也是要额外注意的。最后不得不说,梯度下降算法目前无法保证全局收敛。
2022-10-26 22:52:02 2918
原创 神经网络中的常用算法-梯度下降算法
梯度下降法(Gradient descent )是一个一阶最优化算法,通常也称为最陡下降法 ,要使用梯度下降法找到一个函数的局部极小值 ,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法 ,相反则称之为梯度下降法。说起梯度下降算法,其实并不是很难,它的重要作用就是求函数的极值。梯度下降就是求一个函数的最小值,对应的梯度上升就是求函数最大值。
2022-10-25 22:52:09 3917
原创 Qt资源使用的方式
第一种方法相当于静态加载,但很多情况下我们更希望是动态加载,亦即:用到哪个资源才将该资源加载进来,而不用的则不加载。上边第一种方法之 所以显示出静态加载的特性,这是由于系统一次性自动把所有图片资源都进行了注册,并且在程序运行过程中一直没有进行反注册才导致的。如果我们可以自行决定:什么时候对那一部分图片资源进行注册?什么时候对哪一部分图片资源进行反注册。则显然我们可以手动控制整个资源在内存中的生存周 期。图片是一种资源,而在Qt中,对于资源的使用是有独特的方式的。
2022-10-23 21:02:19 2136
原创 QLayout布局间消除间隙和QLayout边缘空白调整
Qt中界面开发的一个优势就是QLayout(布局)和QSpacer(弹簧)的结合。通过在Qt Designer中将需要的控件拖到窗口中,在窗口中添加QLayout和QSpacer以确定控件的位置,将所有可视化的控件全部在窗口中布局好,这样一来,代码只需实现功能就可以了,界面布局的代码就会少很多,而且很方便,可以加快页面的开发速度。
2022-10-22 08:50:17 3309
Qt4.8.4和Echarts5.3.3绘制图表例子
2022-09-17
echarts-5.3.3
2022-09-17
Least-squares estimation of transformation parameters between tw
2022-06-23
sqlite3.38.0
2022-03-12
C++序列化和反序列化
2022-03-10
用于服务器和客户端之间传输文件的Xftp6.rar
2021-12-04
windows Xshell6Portable_50151.zip
2021-12-04
Memory Reordering Caught in the Act
2021-10-19
WebFace260M.pdf
2021-10-12
Google Save All Resources 插件
2020-10-08
freeglut-3.0.0 - 副本.zip
2020-08-29
lfw(dataset+pairs).zip
2020-02-26
LFW数据集主要测试人脸识别的准确率
2020-02-26
cfp-dataset.zip
2020-02-26
cfppairsff.txt
2020-02-26
cfppairsfp.txt
2020-02-26
AgeDB_n.zip
2020-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人