小编Cha*_*net的帖子

基准测试处理器亲和力影响

我正在研究NUMA架构,其中每个计算节点有 2 个插槽,每个插槽有 4 个核心,计算节点总共有 8 个核心,每个节点有 24GB RAM。我必须证明设置处理器关联性会对性能产生重大影响。

您是否有任何程序建议我可以用作基准来显示使用或不使用处理器亲和力之间的影响差异?我还可以使用 MPI、OpenMP 或 pthread 编写一个简单的 C 测试程序,但哪种操作最适合执行该测试?它必须是能够利用缓存局部性的东西,但也会触发上下文切换(阻塞操作),因此进程可能会迁移到另一个核心,或更糟糕的是迁移到另一个套接字。它必须在 8 核的倍数上运行。

performance benchmarking affinity numa

5
推荐指数
1
解决办法
2736
查看次数

在Python中使用协同程序进行并行编程

协同程序是简化并发编程的一个很好的范例.大多数情况下,并发任务很容易并行化.在Go语言中,很容易使用goroutines来执行并行任务.有没有办法在Python中做同样的事情,例如使用协同程序来创建进程并同步它们?

python parallel-processing concurrency coroutine

5
推荐指数
1
解决办法
1717
查看次数

Python numpy:将字符串转换为numpy数组

我有跟随我放在一起的字符串:

v1fColor = '2,4,14,5,0,0,0,0,0,0,0,0,0,0,12,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,6,0,0,0,0,1,0,0,0,0,0,0,0,0,0,20,9,0,0,0,2,2,0,0,0,0,0,0,0,0,0,13,6,0,0,0,1,0,0,0,0,0,0,0,0,0,0,10,8,0,0,0,1,2,0,0,0,0,0,0,0,0,0,17,17,0,0,0,3,6,0,0,0,0,0,0,0,0,0,7,5,0,0,0,2,0,0,0,0,0,0,0,0,0,0,4,3,0,0,0,1,1,0,0,0,0,0,0,0,0,0,6,6,0,0,0,2,3'
Run Code Online (Sandbox Code Playgroud)

我将它视为一个矢量:长话短说明它是图像直方图的前景:

我有以下lambda函数来计算两个图像的余弦相似度,所以我试图将它转换为numpy.array但我失败了:

这是我的lambda函数

import numpy as NP
import numpy.linalg as LA
cx = lambda a, b : round(NP.inner(a, b)/(LA.norm(a)*LA.norm(b)), 3)
Run Code Online (Sandbox Code Playgroud)

所以我尝试了以下将此字符串转换为numpy数组:

v1fColor = NP.array([float(v1fColor)], dtype=NP.uint8)
Run Code Online (Sandbox Code Playgroud)

但我最终得到以下错误:

    v1fColor = NP.array([float(v1fColor)], dtype=NP.uint8)
ValueError: invalid literal for float(): 2,4,14,5,0,0,0,0,0,0,0,0,0,0,12,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,6,0,0,0,0,1,0,0,0,0,0,0,0,0,0,20,9,0,0,0,2,2,0,0,0,0,0,0,0,0,0,13,6,0,0,0,1,0,0,0,0,0,0,0,0,0,0,10,8,0,0,0,1,2,0,0,0,0,0,0,0,0,0,17,17,
Run Code Online (Sandbox Code Playgroud)

python trigonometry numpy vector

5
推荐指数
4
解决办法
7252
查看次数

Matplotlib在3d中绘制脉冲传播

我想在每个步骤中以这种方式绘制脉冲传播,它绘制脉冲形状.换句话说,对于y的每个值,我想要一系列xz图.像这样的东西(没有颜色): 脉冲传播

我怎么能用matplotlib(或Mayavi)做到这一点?这是我到目前为止所做的:

def drawPropagation(beta2, C, z):
    """ beta2 in ps / km
        C is chirp
        z is an array of z positions """
    T = numpy.linspace(-10, 10, 100)
    sx = T.size
    sy = z.size

    T = numpy.tile(T, (sy, 1))
    z = numpy.tile(z, (sx, 1)).T

    U = 1 / numpy.sqrt(1 - 1j*beta2*z * (1 + 1j * C)) * numpy.exp(- 0.5 * (1 + 1j * C) * T * T / (1 - 1j*beta2*z*(1 + 1j*C)))

    fig = pyplot.figure()
    ax …
Run Code Online (Sandbox Code Playgroud)

python 3d matplotlib

5
推荐指数
1
解决办法
3940
查看次数

TYPO3:如果不是空的或在TemplaVoila中隐藏,则包裹RECORDS

我有一个在TemplaVoila中映射的字段作为"元素容器",它在"数据处理"中生成一些Typoscript:

10= RECORDS
10.source.current=1
10.tables = tt_content

# my new added wrap
10.wrap = <div class="someClass"> | </div>
Run Code Online (Sandbox Code Playgroud)

有没有办法让我的新包装依赖于填充这个容器?我需要与以下功能相同的功能:

10 = TEXT
10.wrap = not empty: |
10.required = 1
Run Code Online (Sandbox Code Playgroud)

编辑:我设法检查容器中是否有任何内容:

10= RECORDS
10.source.current=1
10.tables = tt_content
10.stdWrap.wrap = <div class="someClass"> | </div>
10.stdWrap.if {
 isTrue.field = field_contenttop
}
10.stdWrap.debugData = 1
Run Code Online (Sandbox Code Playgroud)

即使内部的内容被隐藏,它也可以包装容器.我需要仅依赖于可见元素.

typo3 typoscript templavoila

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

我应该禁用HyperThreading来运行并行仿真吗?

我的电脑有一个四核i7处理器.我正在研究科学模拟的并行化.超线程如何影响并行性能?我知道我不应该使用超过4个工作流程来获得下降表现.但是我应该禁用超线程吗?它对并行性能有影响吗?

parallel-processing optimization performance hyperthreading

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

Python中具有负指数的多项式

当多项式可以有负指数时,是否有一个库可以使用多项式算法?我找到了numpy中的poly1d类,但我无法弄清楚如何表示多项式x**-3 + x**-2 + x**2 + x**3.

python numpy polynomial-math

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

APL中的圆函数列表是什么?

根据http://www.microapl.co.uk/apl/APL1_2.PDF,在¯12和12之间有圆函数,例如函数1、2、3分别是sincostan。我在这个参考资料中找到了函数 ¯7 到 7。但是,我没有找到函数 8 到 12(以及它们的倒数)。有人能指点一下它们是什么吗?

apl

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

如何更新Matplotlib中的streamplot颜色?

如果有一个streamplot:

c = streamplot(X, Y, U, V, color=(0,0,0,1))
Run Code Online (Sandbox Code Playgroud)

现在,我想隐藏它:

c.lines.set_alpha(0)
c.arrows.set_alpha(0)
draw()
Run Code Online (Sandbox Code Playgroud)

线条消失,但不是箭头.为什么?如何更改箭头的alpha值?('我正在使用qt4agg后端).

python matplotlib

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

在numpy中不按排序顺序的掩码值

我有一个复杂的计算,我希望结果是一个数组,其中值按排序顺序。但是,由于某些关键点的数值错误,某些结果值是错误的。我想掩盖这些价值观。我该怎么做?

这是一个等效的函数,但假设值从高到低排序,并且外来者总是大于预期值。我想知道是否有更简单、更有效的方法来做到这一点。

def maskoutsiders(a):
    mask = numpy.zeros(len(a))
    lastval = a[0]
    for i in range(1, len(a)):
        if a[i] > lastval:
            mask[i] = 1
        else:
            lastval = a[i]

    return ma.masked_array(a, mask=mask)
Run Code Online (Sandbox Code Playgroud)

python numpy

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