小编car*_*ose的帖子

C/C++基本类型是原子的吗?

是C/C++的基本类型,如int,double等,原子,如线程?

他们是否免于数据竞赛; 也就是说,如果一个线程写入这种类型的对象而另一个线程从中读取,那么行为是否定义明确?

如果没有,它是否依赖于编译器或其他东西?

c c++ multithreading atomic

58
推荐指数
4
解决办法
7349
查看次数

在Python中检查函数参数的最佳方法

我正在寻找一种有效的方法来检查python函数的变量.例如,我想检查参数类型和值.有这个模块吗?或者我应该使用类似装饰器或任何特定习语的东西?

def my_function(a, b, c):
    """an example function I'd like to check the arguments of."""
    # check that a is an int
    # check that 0 < b < 10
    # check that c is not an empty string
Run Code Online (Sandbox Code Playgroud)

python arguments function

56
推荐指数
7
解决办法
9万
查看次数

cython问题:'bool'不是类型标识符

我拼命想把一个std::vector<bool>类成员公开给Python类.

这是我的C++类:

class Test
{
  public:
    std::vector<bool> test_fail;
    std::vector<double> test_ok;
};
Run Code Online (Sandbox Code Playgroud)

虽然test_ok类型double(或int,float,..)的访问和转换有效,但它不适合bool!

这是我的Cython类:

cdef class pyTest:
     cdef Test* thisptr
     cdef public vector[bool] test_fail
     cdef public vector[double] test_ok

     cdef __cinit__(self):
         self.thisptr = new Test()
         self.test_fail = self.thisptr.test_fail # compiles and works if commented
         self.test_ok = self.thisptr.test_ok

     cdef __dealloc__(self):
         del self.thisptr
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Error compiling Cython file:
------------------------------------------------------------
...




cdef extern from *:
    ctypedef bool X 'bool'
            ^
------------------------------------------------------------

vector.from_py:37:13: 'bool' is not a type …
Run Code Online (Sandbox Code Playgroud)

c++ python cython

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

CPU SIMD与GPU SIMD?

GPU使用SIMD范例,即,相同的代码部分将并行执行,并应用于数据集的各种元素.

但是,CPU也使用SIMD,并提供指令级并行.例如,据我所知,类似SSE的指令将处理具有并行性的数据元素.

虽然SIMD范例似乎在GPU和CPU中的使用方式不同,但GPU的SIMD功率是否比CPU更多?

在哪种方式中,CPU中的并行计算能力比GPU中的并行计算能力"弱"?

谢谢

parallel-processing cpu gpu simd

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

OpenCL:工作组的概念

我真的不了解OpenCL中工作组的目的.

我知道它们是一组工作项(据说是硬件线程),它们是并行执行的.

但是,为什么需要更粗略的细分呢?只有线程网格(事实上,只有一个WG)不是没有问题吗?

工作组是否应该完全映射到物理核心?例如,据说TESLA c1060卡有240个核心.工作组将如何映射到这个?

另外,据我所知,由于内存栅栏,工作组内的工作项可以同步.工作组可以同步还是甚至需要?他们是通过共享内存相互交谈,还是只针对工作项目(在这一项上不确定)?

parallel-processing opencl

23
推荐指数
4
解决办法
1万
查看次数

Boost.python与Cython for C++/python接口

我知道这已被问了一千次,但是我需要选择一个可以将C++函数和方法暴露给python的库.

考虑到我的应用程序,主要是科学(矩阵)库,以及python生成器的成熟度,支持可用性和性能,我遇到了两个选项:

  • 用Cython
  • Boost.Python的

我已经消除了(出于好的或坏的原因)其他选项,如SWIG,SIP,Pybindgen,......

关于那2个图书馆的任何建议?任何具有杀手功能的东西?

我的项目有名称空间,嵌套类,回调等.

谢谢

c++ python binding cpython boost-python

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

使用和不使用ORDER BY子句对分区进行分析计数

我不明白为什么ORDER BY在分析COUNT函数中使用子句时会有不同的结果.

使用一个简单的例子:

with req as
 (select 1 as n, 'A' as cls
    from dual
  union
  select 2 as n, 'A' as cls
    from dual)
select req.*, count(*) over(partition by cls) as cnt from req;
Run Code Online (Sandbox Code Playgroud)

给出以下结果:

N   CLS CNT
2   A   2
1   A   2
Run Code Online (Sandbox Code Playgroud)

然而,当ORDER BY在分析子句中添加一个时,结果是不同的!

with req as
 (select 1 as n, 'A' as cls
    from dual
  union
  select 2 as n, 'A' as cls
    from dual)
select req.*, count(*) over(partition by …
Run Code Online (Sandbox Code Playgroud)

sql oracle window-functions

10
推荐指数
2
解决办法
2451
查看次数

一段时间后,您将从Openshift服务器中退出

我正在使用ssh连接到openshift服务器.每隔一段时间,每隔15分钟,我就会被踢出去(断开连接).我怎么能阻止这个?

谢谢

ssh openshift

8
推荐指数
1
解决办法
1619
查看次数

$ @和"$ @"之间有什么区别吗?

有什么区别$@"$@"

我知道非特殊字符可能存在差异,但@输入参数的符号呢?

bash expansion

7
推荐指数
2
解决办法
6282
查看次数

Grafana:自定义图例值?

有人知道是否可以在 Grafana 中定义自定义图例值

文档中,有一些可能的功能:

Legend Values
Additional values can be shown along-side the legend names:

Total - Sum of all values returned from metric query
Current - Last value returned from the metric query
Min - Minimum of all values returned from metric query
Max - Maximum of all values returned from the metric query
Avg - Average of all values returned from metric query
Decimals - Controls how many decimals are displayed for legend values …
Run Code Online (Sandbox Code Playgroud)

metrics legend grafana

6
推荐指数
1
解决办法
7481
查看次数