Image
Image

9dome猫

+ 关注

粉丝 2     |     主题 141     |     回帖 1577

ST-GCN复现的全过程(详细)
2024-1-18 14:14
  • ST MCU
  • 35
  • 1006
  如果有多张gpu可以尝试下并行执行,我这里利用率就很低,只设了单gpu运行。(写完再去尝试下怎么运行多gpu ...  
  保证好网络的稳定,考虑一下电脑熄屏后会不会中断训练。代码里有每10epoch自动保存,可以尝试加入下次训练 ...  
  pycharm的同步好像有点小问题,明明设置了总是同步,但是就是不及时,所以总是要去服务器上看生成的一些文 ...  
ST源码分析-st_thread_create - 弦外之音
2024-1-18 14:08
  • ST MCU
  • 96
  • 3916
  调用_st_stack_new() 拿到这么一个 栈结构之后,回到 st_thread_create() 的逻辑,代码如下: #if defined ...  
  _st_stack_new 运行后之后,整个栈内存的结构是这样的...  
  _st_free_stack 的逻辑本文不会讲解太多,因为这是入门教程,第一次调 _st_stack_new() 是不会跑进去 _st_f ...  
  2,用 _st_new_stk_segment 来申请栈的实际内存,_st_new_stk_segment 函数比较简单,就是对 mmap 封装一下 ...  
  从流程图可以看出,_st_stack_new 函数主要有两个重点: 1,用 calloc 来申请一块内存,_st_stack_t 这个 ...  
  回到 _st_stack_new() 函数的分析,流程图如下:  
  然后用 top -p 100054 查看指定进程的情况,如下图:  
  执行命令编译: gcc -o calloc calloc.c  
  calloc 例子: #include #include ​ int main() { void* vaddr = calloc(1, 1024 * 1024 * 1024 * ...  
  mmap 例子: #include #include ​ int main() { void* vaddr = mmap(NULL, 1024 * 1024 * 1024 * 1 ...  
  然后 就调 _st_stack_new() 函数 来申请内存。在 讲 _st_stack_new 函数的内部逻辑 之前,先普及一下 mmap ...  
  为什么 stk_size 要是 操作系统 内存页大小的 倍数 ,这个涉及到内存对齐,虚拟内存跟物理内存的映射原理, ...  
  _st_this_vp.pagesize 是用 getpagesize() 获取操作系统的内存页大小。所以下面的这行代码,又乘,又除,实 ...  
  上面开始申请 栈内存,ST_DEFAULT_STACK_SIZE 是 (64*1024) ,也就是 64Kb 默认内存。还有一个 宏定义 _ST_ ...  
  ......  
  上面代码声明了 4 个变量 ,变量 ptds 的全称应该是 pthread_data_register(线程的寄存器缓存),sp 的全 ...  
  现在开始一行一行代码分析 st_thread_create  
2
3
近期访客