一些可以参考的文档集合13

news2024/11/19 3:17:22

 之前的文章集合:

一些可以参考文章集合1_xuejianxinokok的博客-CSDN博客

一些可以参考文章集合2_xuejianxinokok的博客-CSDN博客

一些可以参考的文档集合3_xuejianxinokok的博客-CSDN博客

一些可以参考的文档集合4_xuejianxinokok的博客-CSDN博客

一些可以参考的文档集合5_xuejianxinokok的博客-CSDN博客

一些可以参考的文档集合6_xuejianxinokok的博客-CSDN博客


一些可以参考的文档集合7_xuejianxinokok的博客-CSDN博客
 

一些可以参考的文档集合8_xuejianxinokok的博客-CSDN博客

 一些可以参考的文档集合9_xuejianxinokok的博客-CSDN博客

一些可以参考的文档集合10_xuejianxinokok的博客-CSDN博客

一些可以参考的文档集合11_xuejianxinokok的博客-CSDN博客

一些可以参考的文档集合12_xuejianxinokok的博客-CSDN博客


20230630

Rust WebAssembly的全面分析与演示_笔记大全_设计学院icon-default.png?t=N5K3https://www.python100.com/html/76133.html

关于本书 - Rust语言圣经(Rust Course)https://course.rs/about-book.html

Rust 语言真的好:连续七年成为全世界最受欢迎的语言、没有 GC 也无需手动内存管理、性能比肩 C++/C 还能直接调用它们的代码、安全性极高 - 总有公司说使用 Rust 后以前的大部分 bug 都将自动消失、全世界最好的包管理工具 Cargo 等等。

所有权
所有权是Rust最独特的特性,它让Rust无需GC(Garbage Collection)就可保证内存安全。Rust的核心特性就是所有权,所有程序在运行时都必须管理它们使用计算机内存的方式。有些语言有垃圾回收机制,在程序运行时会不断地寻找不再使用的内存。在其他语言中,程序员必须显式地分配和释放内存。

Rust采用了第三种方式,内存是通过一个所有权系统来管理的,其中包含一组编译器在编译时检查的规则。当程序运行时,所有权特性不会减慢程序的运行速度。

Rust的所有权,是一个跨时代的理念,是内存管理的第二次革命。
较低级的语言依赖程序员分配和释放内存,一不小心就会出现空指针、野指针破坏内存;较高级的语言使用垃圾回收的机制管理内存,在程序运行时不断地寻找不再使用的内存,虽然安全,却加重了程序的负担;Rust的所有权理念横空出世,通过所有权系统管理内存, 编译器在编译时会根据一系列的规则进行检查,在运行时,所有权系统的任何功能都不会减慢程序,把安全的内存管理推向了0开销的新时代
 

所有权存在的原因
所有权解决的问题:跟踪代码的哪些部分正在使用heap 的哪些数据;最小化 heap 上的重复数据量;清理heap上未使用的数据以避免空间不足。一旦懂了所有权,就不需要经常去想stack或heap了,但是知道管理heap数据是所有权存在的原因,这有助于解释它为什么会这样工作。

所有权规则

  • 每个值都有一个变量,这个变量是该值的所有者。
  • 每个值同时只能有一个所有者。
  • 当所有者超出作用域(scope)时,该值将被删除

String类型为了支持可变性,需要在heap上分配内存来保存编译时未知的文本内容:操作系统必须在运行时来请求内存,这步通过调用String::from来实现。当用完 String之后,需要使用某种方式将内存返回给操作系统。这步,在拥有GC的语言中,GC会跟踪并清理不再使用的内存。没有GC,就需要我们去识别内存何时不再使用,并调用代码将它返回。―如果忘了,那就浪费内存;如果提前做了,变量就会非法;如果做了两次,也是 Bug。必须一次分配对应一次释放

Rust采用了不同的方式:对于某个值来说,当拥有它的变量走出作用范围时,内存会立即自动的交还给操作系统。Rust会在变量超出作用域时调用一个特殊的函数drop释放其内存
 

理解Rust的所有权_rust 所有权_swanmy的博客-CSDN博客什么是所有权Rust的所有权,是一个跨时代的理念,是内存管理的第二次革命。较低级的语言依赖程序员分配和释放内存,一不小心就会出现空指针、野指针破坏内存;较高级的语言使用垃圾回收的机制管理内存,在程序运行时不断地寻找不再使用的内存,虽然安全,却加重了程序的负担;Rust的所有权理念横空出世,通过所有权系统管理内存, 编译器在编译时会根据一系列的规则进行检查,在运行时,所有权系统的任何功能都不会减..._rust 所有权https://blog.csdn.net/zhmh326/article/details/103991966

【Rust】所有权_fakerth的博客-CSDN博客Rust所有权https://blog.csdn.net/weixin_43912621/article/details/131430630

 最好的service worker 教程

使用 Service Worker - Web API 接口参考 | MDN本文是关于使用 service worker 的教程,包括讲解 service worker 的基本架构、怎么注册 service worker、新的 service worker 的安装以及激活的过程、怎么更新 service worker 还有它的缓存控制和自定义响应,这一切都在一个简单的离线的应用程序中。https://developer.mozilla.org/zh-CN/docs/Web/API/Service_Worker_API/Using_Service_Workers

  • 解决大型项目可维护性问题:TypeScript
  • 新的运行环境:Deno

function workerSetup() {
  self.onmessage = (evt) => {
    const t = performance.now()
    // 模拟耗时任务,随机消耗时间 0~100ms
    while(performance.now() - t < Math.random() * 100){}

    const { idx, val } = evt.data
    // 实际上只是算一下参数的平方
    self.postMessage({
      idx: idx,
      val: val * val
    })
  }
}
// 创建一个运行 workerSetup 函数的 worker
const createWorker = () => {
  const blob = new Blob([`(${workerSetup.toString()})()`])
  const url = URL.createObjectURL(blob)
  return new Worker(url)
}
// 模拟 1000 个任务
const tasks = Array(1000).fill(0).map((_, idx) => idx + 1)
const result = []
let rsCount = 0
const onMsg = (evt) => {
  result[evt.data.idx] = evt.data.val
  rsCount += 1
  // 所有任务完成时打印结果
  if (rsCount === tasks.length) {
    console.log('task:', tasks)
    console.log('result:', result)
  }
}

// 模拟线程池
const workerPool = Array(10).fill(0).map(createWorker)
workerPool.forEach((worker, idx) => {
  worker.onmessage = onMsg
  worker.id = idx
})

for (const idx in tasks) {
  // 随机分配任务
  const worker = workerPool[Math.floor(Math.random() * workerPool.length)]
  worker.postMessage({ idx, val: tasks[idx] })
  console.log(`Worker ${worker.id}, process task ${idx}`)
}
Nodejs对前端的意义不言而喻,其实它最开始主要应用于前端工程化。

JS 多线程并发 | 风痕的博客...https://hughfenghen.github.io/fe-basic-course/js-concurrent.html#%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%B9%B6%E5%8F%91


20230628

CPU向GPU发送的指令也是像流水线一样的——CPU往命令缓冲区中一个个放入命令,GPU则依次取出执行。在实际的渲染中,GPU的渲染速度往往超过了CPU提交命令的速度,这导致渲染中大部分时间都消耗在了CPU提交Draw Call上。有一种解决这种问题的方法是使用批处理(Batching),即把要渲染的模型合并在一起提交给GPU。

  • Memory and DRAM

内存可以分为如下几类

  1. local memory: 每个线程的内存,通常是原始和中间数据,通过外部的DRAM实现
  2. shared memory: SM的组件,提供相同SM之内不同线程之间的低延时数据交换
  3. global memory: 所有SM共享的数据部分,由外部DRAM是实现

DRAM在Tesla架构是一个具有384个pin的data bus,并且被均分成六块,这样可以尽可能地降低延迟。

 为什么需要统一的处理器设计?

在直接说明原因之前,文章先简要说明了顶点着色器的发展和介绍了顶点和片元着色器的功能。

然后切入正题,由于顶点管道高精度低延时的要求,这部分最先开始可编程化(我的理解是最开始就只能调用一个API,难以个性化),但随着发展对于片元着色器的可编程需求也逐渐产生,这就有了a need for greater programming generality。 而分离的着色器设计将增加设计的复杂度和GPU的面积和成本,因此有了统一设计的需求。

第二点原因是顶点和片元着色器硬件上的平衡问题,通常来说片元着色器要比顶点着色器多两到三个。但是在实际工作工程中,对于同样面积大小的区域,如果由大三角形组成,顶点着色器往往是空闲的,而片元着色器压力很大;如果由小三角形组成,那么结果相反。而DX10软件层面带来的复杂处理使得两个着色器比例选择更加困难,因此,为什么还要纠结于比例呢?NVIDIA对此进行了统一。

【GPU】目录与前言 - 知乎目录Tesla架构 Tesla架构(一):初识GPU架构 Tesla架构(二):血汗工厂 Tesla架构(三):通用计算及其“物流网”Fermi架构 Fermi架构(一):突破几何瓶颈 Fermi架构(二):一个三角形の异世界之旅 Fermi架构…https://zhuanlan.zhihu.com/p/403345668

GPU硬件分析---Tesla 架构 - 知乎引言:Tesla架构可以认为是第一代真正开始用于并行运算的GPU架构,其硬件设计与细节奠定了当前并行运算架构的基本形态, 尽管最新的显卡架构Hopper(2022年3月发布,H100)的算力已经远超Tesla,但其运作模式、单元…https://zhuanlan.zhihu.com/p/508862848

初识Tesla 架构-- NVIDIA Tesla: A Unified Graphics and Computing Architecture - 知乎本人背景: 非科班深度学习方向研究生在读,在做了一定的目标检测工作后,在想未来出路的时候,对CUDA编程有了一定兴趣。目前基于谭升_博客对CUDA进行学习,在学习过程中反复看到硬件架构的重要性,浅尝NVIDIA GPU…https://zhuanlan.zhihu.com/p/514805159

猴子也能看懂的渲染管线(Render Pipeline) - 知乎CPU与GPU的区别GPU的架构与CPU有极大的不同,这主要归因于两者不同的使用场合。试想一下,GPU面对3D游戏中成千上万的三角面,如果仅仅是逐一单个处理计算,损失的效率是极其惊人的。 这可以类比汽车工业的发展,在…https://zhuanlan.zhihu.com/p/137780634

计算机图形学七:纹理映射(Texture Mapping)及Mipmap技术 - 知乎纹理映射及Mipmap技术在本篇文章中,我们会具体的讨论如何利用纹理映射让场景拥有丰富的颜色信息,以及纹理贴图精度大小所带来的问题,怎么去解决,最后将会介绍Bump Mapping和Displacement Mapping 1 纹理映射(Te…https://zhuanlan.zhihu.com/p/144332091 人工智能编程 | 谭升的博客C/C++ 《30天自制操作系统》 保护模式 IPL,BIOS 汇编和C GDT IDT 中断处理 中断 鼠标 内存管理 内存管理和叠加处理 定时器 计时器 MAC环境搭建 Mac环境搭建 MAC下的工具 FIFO 高分辨率 多任务I 多任务II 一个半成品 Python爬虫 1.0 Introduction 2.0 分析目标网站 3.0 三只虫 3.1 HTTP协议(一) 3.2 HTTPhttps://face2ai.com/program-blog/#GPU%E7%BC%96%E7%A8%8B%EF%BC%88CUDA%EF%BC%89

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/706668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

带你用Python制作一个经典必收藏的游戏:地铁跑酷(含完整代码)

名字&#xff1a;阿玥的小东东 学习&#xff1a;Python、C/C 主页链接&#xff1a;阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 一、游戏简介 二、游戏设计 引入必要的库 初始化游戏 定义游戏元素 定义游戏循环 更新游戏…

kafka入门,Kafka 副本(十三)

Kafka副本 副本基本信息 1&#xff09;Kafka副本作用&#xff0c;提高数据可靠性 2&#xff09;Kafka默认副本1个&#xff0c;生产环境一般配置2个&#xff0c;保证数据可靠性&#xff0c;太多副本会增加磁盘存储空间&#xff0c;增加网络上数据传输&#xff0c;降低效率 3&a…

使用npm install -g @vue/cli 命令安装最新的脚手架与Vue版本不匹配的问题

使用npm install -g vue/cli 命令安装最新的脚手架 创建项目时不要选择Vue版本&#xff0c;让它默认选择&#xff08;默认选择 Vue2&#xff09;否则会出现 vue版本和脚手架版本vue-cli 不兼容的问题&#xff08;怪哉&#xff09; 脚手架兼容vue2 不兼容vue3 &#xff1f; 不理…

聚合函数group byhaving

聚合函数&group by group by 字段名 规定依据哪个字段分组聚合 group by核心子句是可选项&#xff0c;使用该子句是为了依据相同字段值分组后进行聚合运算&#xff0c;常和聚合函数联用 不使用group by 子句时使用聚合函数&#xff0c;select子句中只能写聚合函数和包含聚…

Mysql主从同步失败排查思路及解决办法

1、查看同步信息 登录进从数据库后查询同步状态 show slave status \G 2、查看同步失败出现的日志 Coordinator stopped because there were error(s) in the worker(s). The most r ecent failure being: Worker 1 failed executing transaction 55b49392-fdcd-11ec-83b2-…

8.用python写网路爬虫,Scrapy

前言 Scrapy 是一个流行的网络爬虫框架&#xff0c;它拥有很多简化网站抓取的高级函数。本章中&#xff0c;我们将学习使用 Scrapy 抓取示例网站&#xff0c;目标任务与第2章相同。然后&#xff0c;我们还会介绍 Portia &#xff0c;这是一个基于 Scrapy 的应用&#xff0c;允许…

人脸识别损失函数总结

1、Softmax Loss 公式 特点 Softmax鼓励不同类别的特征分开&#xff0c;但没有对特征分离的距离进行限制 2、L-Softmax Loss 公式 特点 增加margin角度参数m&#xff0c;压缩类内角度范围&#xff0c;实现类内紧凑&#xff0c;增加类间决策边界间隔参数m压缩了cos函数角度…

Quiz 13: Network Programming | Python for Everybody 配套练习_解题记录

文章目录 Python for Everybody课程简介Quiz 13: Network Programming单选题&#xff08;1-11&#xff09;操作题Autograder 1: Request-Response CycleAutograder 2: Scraping HTML Data with BeautifulSoupAutograder 3: Following Links with BeautifulSoup Python for Ever…

解决退出重新登陆后提示路由重复问题,在登出时使用

在使用vue-admin-element时&#xff0c;看见 router index.js中底本有这么一个方法导出&#xff0c;发现它在等处的方法中调用的&#xff0c;不太理解他的作用是干嘛的 index.js中 export function resetRouter() {const newRouter createRouter()router.matcher newRouter.…

目录拆分爆破工具

burp开启被动扫描获取到大量target或者爬虫获取到大量target时&#xff0c;经常会出现以下URL的情况&#xff0c;手工无法对目录进行拆分进行简单的目录爆破&#xff0c;所以有了这款工具&#xff0c;思路比较简单&#xff0c;望批评指教。 http://target/path1/path2/path3/* …

时序预测 | MATLAB实现PSO-BiLSTM(粒子群优化双向长短期记忆神经网络)时间序列预测

时序预测 | MATLAB实现PSO-BiLSTM(粒子群优化双向长短期记忆神经网络)时间序列预测 目录 时序预测 | MATLAB实现PSO-BiLSTM(粒子群优化双向长短期记忆神经网络)时间序列预测预测效果基本介绍模型介绍PSO模型BiLSTM模型PSO-BiLSTM模型 程序设计参考资料致谢 预测效果 基本介绍 M…

java之IO流

1、区别 字节流以字节为单位进行读写&#xff0c;可以处理所有类型的数据 字符流以字符为单位进行读写&#xff0c;只能用于处理文本数据 字符流通常使用缓冲区&#xff0c;可以提高读写性能&#xff1b; 而字节流则可以处理二进制数据&#xff0c;可以进行更底层的数据操作。…

《PyTorch深度学习实践》第六讲 逻辑斯蒂回归

b站刘二大人《PyTorch深度学习实践》课程第六讲逻辑斯蒂回归笔记与代码&#xff1a;https://www.bilibili.com/video/BV1Y7411d7Ys?p6&vd_sourceb17f113d28933824d753a0915d5e3a90 分类问题&#xff1a; MNIST数据集&#xff1a;手写数字数据集&#xff1b;6万个训练样本…

vue3+vite+ts视频背景酷炫登录模板【英雄联盟主题】

最近我准备在自己的网站上开发一个博客系统&#xff0c;首先要实现后台登录界面。我选择使用Vue 3 Vite TypeScript框架来构建&#xff0c;下面是针对该主题的详细说明&#xff1a; 在网页中使用视频作为背景图已经相当常见了&#xff0c;而且网上也有很多相关的插件可供使用…

QT Creator上位机学习(四)多线程操作

系列文章目录 文章目录 系列文章目录前言多线程操作多线程创建基本概念接口函数线程类的定义实例 线程同步基础互斥量的线程同步基于QReadWriteLock的线程同步基于QWaitCondition的线程同步基于信号量的线程同步 总结 前言 由于目前时间比较赶&#xff0c;同时还在学习FreeRTO…

ModaHub 魔搭社区:火山方舟是如何解决大模型互信问题的

火山方舟是一个全面的大模型服务平台&#xff0c;通过整合多个大模型公司的产品&#xff0c;为需要大模型的企业提供联系和选择的机会。它不仅提供相关工具和服务&#xff0c;还构建了大模型"安全互信计算架构"&#xff0c;解决了大模型互信的问题。 这个安全互信计算…

【ArcGIS微课1000例】0069:用ArcGIS提取一条线的高程值

本实验讲解用ArcGIS软件,基于数字高程模型DEM提取一条线的高程值并导出。 文章目录 一、加载实验数据二、将线转为折点三、提取折点高程值四、导出高程值五、注意事项【相关阅读】:【GlobalMapper精品教程】060:用dem提取一条线的高程值 一、加载实验数据 本实验使用的数据…

AI创作与游戏开发(三)世界观设计

本文将从实践出发&#xff0c;全方位的在美术&#xff0c;程序&#xff0c;策划, 音乐方面使用AIGC进行游戏开发的辅助创作&#xff0c;来探索AI的上限。 写在前面 不管AI发展到什么地步&#xff0c;要记住一点的是。它只是工具&#xff0c;还是要以我为主&#xff0c;为我所…

Lake Shore475高斯计使用教程

475高斯计具有双排20字符真空荧光显示屏。在正常操作下&#xff0c;显示屏用来显示磁场读数和功能&#xff08;最大、最小值、相对读数等&#xff09;信息。另外也可以被配置为显示被测磁场温度和频率等信息。当设置高斯计参数或功能时&#xff0c;屏幕会显示操作提示和反馈信息…

华为云Could not connect to ‘121.37.92.110‘ (port 22): Connection failed.

今天在使用xshell连接服务器的时候&#xff0c;一直报错&#xff0c;爆的心态都炸了&#xff1a; 在输入主机和密码都正确的情况下&#xff0c;还是连接不上服务器&#xff1a; 后来经过长时间摸索&#xff0c;发现xshell软件要通过镜像系统来操作&#xff0c;而自己买的服务器…