自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 多线程安全的单例模式

使用静态函数变量是实现线程安全单例模式的简洁且有效的方式,特别是在 C++11 及更高版本中,它避免了使用锁定机制的复杂性,同时确保了初始化的线程安全性。因此,这种方法是一种推荐的实现方式。

2024-08-29 09:29:41 140

原创 va_list解决可变参数的传入问题

首先,我们需要定义一个简单的Tensor类,这个类包含张量的数据类型、设备类型以及各维度大小。public:private:我们需要编写一个函数,用于检查张量的维度、设备类型和数据类型是否符合要求。这个函数使用可变参数来传递期望的维度。++i) {

2024-08-25 18:47:42 130

原创 load_dataset能一次性导入train, val, test

再数据导入后,可以使用get来进行获得对于对应key的value,即对应的dataset,然后再使用map函数来进行后续的数据处理,不同的数据集,例如train,val用不同的 map中指定的函数来进行数据处理。

2024-08-17 20:07:32 179

转载 怎么XXX.sh后再debug torchrun 以及 deepspeed,如何追进transformers库里面

一般情况下,大家都是使用deepspeed、torchrun运行代码。参数都特别多,然后都是使用。🚨 上面的端口号都写一样。

2024-08-13 22:12:01 55

原创 vscode c++ launch.json和 task.json

【代码】vscode c++ launch.json和 task.json。

2024-08-13 17:23:07 77

原创 cuda xy使用不当会导致速率下降

抛出一个问题,按照我写c++的习惯,一般是x对于的行号,y对于的列号,例如一个数组arr[x][y]这样去访问主存。一维数组映射则是arr[x*ny+y]这样,保证是y是连续读或写即可,数组一般是行主序。考虑到CUDA中的线程是按照warp(即线程束)的粒度来执行的。因此当线程块中的线程按照x维度连续访问内存(例如数组中的连续元素)时,这些访问可以被GPU硬件自动合并,从而使内存访问更加高效。所以这样访存arr[y*nx + x]更高效。上述代码在的,的,不能合并写操作,读是可以合并的。

2024-08-13 15:56:55 796

原创 placement new VS new

因为分离了内存分配和对象构造,你必须手动管理这两个过程。构造对象后,必须手动调用析构函数来销毁对象,然后手动释放内存。普通的new和delete是一气呵成的,则要求你分开进行这两步操作。

2024-08-12 16:00:10 224

空空如也

空空如也

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

TA关注的人

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