CUDA C编程权威指南:1.1-CUDA基础知识点梳理

主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的。 1.CUDA 解析:2007年,NVIDIA推出CUDA(Compute Unified Device Architecture,统一计算设

CUDA C编程权威指南:1.2-CUDA基础知识点梳理

主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的。 1.闭扫描和开扫描 对于一个二元运算符和一个元输入数组。如果返回输出数组为,那么是闭扫描;如果返回输出数组为,那么是开扫描。串行闭扫描算法,

CUDA C编程权威指南:1.3-CUDA基础知识点梳理

主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的。 1.CUDA数组 解析:CUDA数组是使用cudaMallocArray()、cudaMalloc3DArray()分配的,使用cudaFr

增强金蝶云星空的数据分析能力,实现BI 分析功能

小编最近在研究金蝶云星空中如何将已有的BI 工具 集成进去,对于BOS开发毫无经验的我,就这么开始了从0到1的过程。在实现功能过程中,也踩了很多坑,接下来看如何避坑。 那么具体如何实现,根据下面的步骤来看。 话不多说直接上操作步骤,篇幅较长,这是一篇教程贴,分享给需要的用户 1. 开发环境要求 【操

1.5 为x64dbg编写插件

任何一个成熟的软件都会具有可扩展性,可扩展性是现代软件的一个重要特征,因为它使软件更易于维护和适应变化的需求,`x64dbg`也不例外其可通过开发插件的方式扩展其自身功能,`x64dbg`提供了多种插件接口,包括脚本插件、DLL插件、Python插件和.NET插件等。此外,`x64dbg`还支持用户自定义命令和快捷键。这使得用户可以自由地扩展和自定义软件的功能,从而更好地适应开发需求。我们以`C/

1.8 运用C编写ShellCode代码

在笔者前几篇文章中,我们使用汇编语言并通过自定位的方法实现了一个简单的`MessageBox`弹窗功能,但由于汇编语言过于繁琐在编写效率上不仅要考验开发者的底层功底,还需要写出更多的指令集,这对于普通人来说是非常困难的,当然除了通过汇编来实现`ShellCode`的编写以外,使用C同样可以实现编写,在多数情况下读者可以直接使用C开发,只有某些环境下对ShellCode条件有极为苛刻的长度限制时才会

1.8 运用C编写ShellCode代码

在笔者前几篇文章中,我们使用汇编语言并通过自定位的方法实现了一个简单的`MessageBox`弹窗功能,但由于汇编语言过于繁琐在编写效率上不仅要考验开发者的底层功底,还需要写出更多的指令集,这对于普通人来说是非常困难的,当然除了通过汇编来实现`ShellCode`的编写以外,使用C同样可以实现编写,在多数情况下读者可以直接使用C开发,只有某些环境下对ShellCode条件有极为苛刻的长度限制时才会

1.5 为x64dbg编写插件

任何一个成熟的软件都会具有可扩展性,可扩展性是现代软件的一个重要特征,因为它使软件更易于维护和适应变化的需求,`x64dbg`也不例外其可通过开发插件的方式扩展其自身功能,`x64dbg`提供了多种插件接口,包括脚本插件、DLL插件、Python插件和.NET插件等。此外,`x64dbg`还支持用户自定义命令和快捷键。这使得用户可以自由地扩展和自定义软件的功能,从而更好地适应开发需求。我们以`C/

并发编程-CompletableFuture解析

CompletableFuture对象是JDK1.8版本新引入的类,这个类实现了两个接口,一个是Future接口,一个是CompletionStage接口。

JNI编程之字符串处理

java中的字符串类型是String,对应的jni类型是jstring,由于jstring是引用类型,所以我们不能像基本数据类型那样去使用它,我们需要使用JNIEnv中的函数去处理jstring,下面介绍一些常用的字符串处理函数。 1.GetStringUTFChars() 作用:将jstring类

如何编写难以维护的 React 代码?耦合通用组件与业务逻辑

在众多项目中,React代码的维护经常变得棘手。其中一个常见问题是:将业务逻辑直接嵌入通用组件中,导致通用组件与业务逻辑紧密耦合,使其失去“通用性”。这种做法使通用组件过于依赖具体业务逻辑,导致代码难以维护和扩展。 示例:屎山是如何逐步堆积的 让我们看一个例子:我们在业务组件 PageA 和 Pag

FFmpeg H.264编码器指南[译]

H264 视频编码器指南 本指引着眼于x264编码器,这里假设你的FFmpeg 编译了--enable-libx264支持。如果你需要编译支持的帮助请看这篇文档:https://trac.ffmpeg.org/wiki/CompilationGuide,看 HWAccelIntro关于支持H264编

CUDA C编程权威指南:2.2-给核函数计时

本文主要通过例子介绍了如何给核函数计时的思路和实现。实现例子代码参考文献[7],只需要把相应章节对应的CMakeLists.txt文件拷贝到CMake项目根目录下面即可运行。 1.用CPU计时器计时(sumArraysOnGPU-timer.cu)[7] 在主函数中用CPU计时器测试向量加法的核函数

CUDA C编程权威指南:2.1-CUDA编程模型

本文主要通过例子介绍了CUDA异构编程模型,需要说明的是Grid、Block和Thread都是逻辑结构,不是物理结构。实现例子代码参考文献[2],只需要把相应章节对应的CMakeLists.txt文件拷贝到CMake项目根目录下面即可运行。 1.Grid、Block和Thread间的关系 GPU中最

网络编程之Socket

在之前的文章《网络编程杂谈之TCP协议》中,我们阐述了TCP协议的基本概念,TCP作为一种可靠的、面向连接的数据传输协议,确保了数据在发送和接收之间的可靠性、顺序性和完整性,特点可以概括如下: 1、面向连接:在进行数据传输之前,TCP需要客户端和服务器之间建立一个连接,这个连接包括一系列的握手和协商

【Python进阶-PyQt5】00搭建PyQt5环境

1.创建独立开发虚拟环境 1.1虚拟环境简介 我们编写的程序,有时用到的Python库是不一样的,比如说开发桌面应用程序我们主要用到PyQt5相关的Python库、开发Web应用程序我们主要用到Django相关的Python库等等。假设我们在开发桌面应用程序的时候除了PyQt5相关的Python库外

vscode编写markdown

1. 需求分析 2. 环境搭建 1. 需求分析 最近在网上折腾了好久Markdown的写作环境,作为一个普通用户,总结一下个人对于Markdown写作环境的几点需求。由于本人刚接触Markdown不久,因此,需求也比较简单,想看具体搭建步骤的可以直接跳到第二章环境搭建: 本地存储。这一点主要是出于隐

在小公司编程是一种什么样的体验?

前言 知乎上有一个提问:在小公司编程是一种什么样的体验? ↓↓↓ 今天,我们就这个话题,一起来做个讨论。 这里有没有曾经待过小公司或者现在正窝在小公司的程序员?如果有,这个问题相信你是最有发言权的。 一个软件产品从前期的调研到中途的开发直至最后的发布环节,不知道整个链路跟踪下来,你是否感觉这中间的每

最小编译器和 UI 框架「GitHub 热点速览」

![](https://img2023.cnblogs.com/blog/759200/202305/759200-20230531000143737-473359705.jpg) 如果有一个关键词来概述本周的 GitHub 热门项目的话,大概就是 van 和 sectorc 都用到

未来的编程语言「GitHub 热点速览」

![](https://img2023.cnblogs.com/blog/759200/202306/759200-20230626001936909-2117286353.jpg) 又一个编程语言火了,不算新,因为它已经开发了一段时间。不过在本周 Hacker News 上风头十足,DreamBe