小编pyt*_*nic的帖子

你可以在类或结构中使用线程局部变量吗?

像这样.

struct some_struct
{
 // Other fields
 .....
 __thread int tl;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试这样做,但编译器给了我这个错误.

./cv.h:16:2: error: '__thread' is only allowed on variable declarations
        __thread int tl;
Run Code Online (Sandbox Code Playgroud)

c c++ multithreading thread-local

22
推荐指数
4
解决办法
2万
查看次数

开头的双下划线的含义

在标准库(glibc)中,我看到使用前导双下划线定义的函数,例如__mmapin sys/mman.h.什么目的?我们怎样才能调用一个mmap似乎没有在任何地方声明的函数.我的意思是我们包括sys/mman.h,但sys/mman.h没有声明mmap,它只声明__mmap.

c linux gcc glibc x86-64

21
推荐指数
3
解决办法
1万
查看次数

你如何评论.sbt文件中的一行

这可能听起来像一个愚蠢的问题,但我一直在互联网上搜索如何在sbt文件中注释一行.有谁知道怎么做?

scala sbt sbt-assembly

21
推荐指数
1
解决办法
3681
查看次数

为什么x86的INC指令不是原子的?

我已经读过x86的INC指令不是原子的.我的问题是怎么来的?假设我们在x86-64上递增64位整数,我们可以用一条指令来完成,因为INC指令适用于内存变量和寄存器.那么为什么它不是原子的呢?

c assembly x86-64 atomic

20
推荐指数
2
解决办法
7533
查看次数

Linux上的线程局部变量访问速度有多快

在Linux中访问线程局部变量的速度有多快.从gcc编译器生成的代码中,我可以看到它是使用fs段寄存器.显然,访问线程局部变量不应该花费额外的周期.

但是,我继续阅读有关线程局部变量访问缓慢的恐怖故事.怎么会?当然,有时不同的编译器使用与使用fs段寄存器不同的方法,但是通过fs段寄存器访问线程局部变量也很慢?

c linux multithreading gcc x86-64

17
推荐指数
2
解决办法
2159
查看次数

GPU上是否有内存保护

我对GPU没有太多经验,所以请原谅我的无知.如今,GPU被用作GPGPU用于通用编程.但我想知道GPU是否具有内存保护和虚拟化机制.我的意思是,例如,你在GPU上运行两个内核,如果你没有vritualization和内存保护,可以很容易地写入另一个地址.这个问题怎么解决了?是否已经完成了提高GPU上运行的代码可靠性的工作?可以通过一些沙盒机制同时运行两个内核吗?

c memory-management gpu gpgpu

17
推荐指数
1
解决办法
820
查看次数

在x86中增量是一个整数原子?

在多核x86机器上,假设在core1上执行的线程增加一个整数变量a,同时核心2上的线程也增加它.鉴于初始值为a0,它是否总是2在最后?或者它可能有其他价值?假设a声明为volatile并且我们没有使用原子变量(例如C++的atomic <>和gcc中的原子操作).

如果a在这种情况下,值确实总是2,那是否意味着long intx86-64 中的a 也具有相同的属性,即a最终总是2?

c c++ x86 gcc x86-64

17
推荐指数
4
解决办法
2万
查看次数

预取数据以缓存x86-64

在我的应用程序中,我需要在一个大的连续内存数据块(100个MB)上执行计算.我想的是继续预取我的程序将来会触及的块的部分,这样当我对该部分执行计算时,数据已经在缓存中.

有人能给我一个简单的例子来说明如何用gcc实现这个目标吗?我在_mm_prefetch某处读过,但不知道如何正确使用它.另请注意,我有一个多核系统,但每个核心将并行处理不同的内存区域.

c linux caching x86-64 prefetch

15
推荐指数
2
解决办法
1万
查看次数

如何在Windows 64位上安装cmake

cmake的下载页面仅显示Windows的32位安装程序.知道如何在64个Windows系统上安装它.

c c++ windows cmake visual-c++

15
推荐指数
2
解决办法
2万
查看次数

JVM是否能够检测并行化的机会?

Java Hotspot可以很好地优化顺序代码.但我猜测随着多核计算机的出现,运行时的信息可以用于检测在运行时并行化代码的机会,例如检测软件流水线是否可能在循环和类似的事情中.

关于这个话题有没有做过任何有趣的工作?或者是研究失败还是一些很难解决的停顿问题?

java parallel-processing multithreading jvm

13
推荐指数
1
解决办法
2039
查看次数