小编zr.*_*zr.的帖子

如何从Windows shell生成多个进程并等待它们全部完成?

我想从Windows批处理脚本执行以下操作:

start proc1.exe

start proc2.exe

...

start procN.exe

<wait for all N processes to complete> <-- What do I put here?
Run Code Online (Sandbox Code Playgroud)

如何等待所有生成的进程完成?

windows scripting batch-file

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

如何避免在mako%def中重复过滤规范?

我发现自己在我的mako代码中的所有%def上重复了相同的过滤器属性:

<%def name="mydef1(a,b)" filter="trim">
# something something something
</%def>

... 

<%def name="mydef2(b)" filter="trim">
# something something something
</%def>
Run Code Online (Sandbox Code Playgroud)

有没有办法为所有%def指定一组默认过滤器,并避免在我的代码中重复'filter ="trim"'?

我注意到有一个选项可以为表达式过滤器指定默认过滤器,但我找不到类似于%def的东西.

python template-engine mako

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

什么是最快的步幅-3收集指令序列?

问题:

从内存生成32位元素的stride-3集合的最有效序列是什么?如果内存安排如下:

MEM = R0 G0 B0 R1 G1 B1 R2 G2 B2 R3 G3 B3 ...
Run Code Online (Sandbox Code Playgroud)

我们想获得三个YMM寄存器,其中:

YMM0 = R0 R1 R2 R3 R4 R5 R6 R7
YMM1 = G0 G1 G2 G3 G4 G5 G6 G7
YMM2 = B0 B1 B2 B3 B4 B5 B6 B7
Run Code Online (Sandbox Code Playgroud)

动机和讨论

标量C代码就像

template <typename T>
T Process(const T* Input) {
  T Result = 0;
  for (int i=0; i < 4096; ++i) {
    T R = Input[3*i];
    T G = Input[3*i+1];
    T B …
Run Code Online (Sandbox Code Playgroud)

c++ x86 vectorization avx2

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

调用函数返回struct的约定

对于以下C代码:

struct _AStruct {
    int a;
    int b;
    float c;
    float d;
    int e;
};

typedef struct _AStruct AStruct;

AStruct test_callee5();
void test_caller5();

void test_caller5() {
    AStruct g = test_callee5();
    AStruct h = test_callee5();    
}
Run Code Online (Sandbox Code Playgroud)

我得到Win32的以下反汇编:

_test_caller5:
  00000000: lea         eax,[esp-14h]
  00000004: sub         esp,14h
  00000007: push        eax
  00000008: call        _test_callee5
  0000000D: lea         ecx,[esp+4]
  00000011: push        ecx
  00000012: call        _test_callee5
  00000017: add         esp,1Ch
  0000001A: ret
Run Code Online (Sandbox Code Playgroud)

而对于Linux32:

00000000 <test_caller5>:
   0:  push   %ebp
   1:  mov    %esp,%ebp
   3:  sub    $0x38,%esp
   6:  lea    0xffffffec(%ebp),%eax
   9:  mov …
Run Code Online (Sandbox Code Playgroud)

c linux windows x86 calling-convention

12
推荐指数
1
解决办法
3184
查看次数

C99中是否允许这种冗余加载/存储优化?

考虑以下:

extern void bar(int *restrict);

void foo(int *restrict p) {
  int tmp;
  bar(&tmp);
  *p = tmp;
}
Run Code Online (Sandbox Code Playgroud)

C99规范是否允许优化foo以下?

extern void bar(int *restrict);

void foo(int *restrict p) {
  bar(p);
}
Run Code Online (Sandbox Code Playgroud)

我在-O3模式下尝试了gcc,Clang和Intel Compiler,并且都没有生成反映上述优化的代码.这让我怀疑这种优化打破了规范.如果不允许,那么它在规范中的含义是什么?

注意:我的问题受到这个SO问题的启发

c optimization standards

12
推荐指数
1
解决办法
2840
查看次数

冲突检测指令如何使循环矢量化变得更容易?

AVX512CD指令系列包括:VPCONFLICT,VPLZCNT和VPBROADCASTM.

关于这些指令的维基百科部分说:

AVX-512冲突检测(AVX-512CD)中的指令旨在帮助有效地计算通常无法安全矢量化的循环中元素的无冲突子集.

有哪些例子表明这些指令在向量化循环中有用?如果答案将包括标量循环及其矢量化对应物将会有所帮助.

谢谢!

x86 simd vectorization intel-mic avx512

12
推荐指数
1
解决办法
1071
查看次数

7-zip如何使用线程?

是否有任何关于7-zip如何使用线程来优化其执行时间的解释?我想要理解的是:通过并行压缩多个文件来实现并行性吗?并行文件中的几个块?或者是由多个线程压缩的相同块?是否有任何涉及多线程的权衡,例如压缩文件大小以任何方式受到影响?

compression optimization multithreading 7zip

9
推荐指数
0
解决办法
2855
查看次数

如何将Google Test测试用例标记为"预计会失败"?

我想为尚未实现的功能添加一个测试用例,并将此测试用例标记为" 我可以失败 ".

有没有办法做到这一点?

编辑:我希望测试执行,只要测试用例处于"预期的失败"状态,框架就应该验证它是否失败.

编辑2:似乎我感兴趣的功能在google-test中不存在,但它确实存在于Boost单元测试框架LIT中.

c++ unit-testing googletest

9
推荐指数
2
解决办法
4114
查看次数

如何在WinDbg执行期间打印每个函数调用?

我正在调试用VC++编写的应用程序.如何在执行debuged过程期间使WinDbg打印函数名称和函数参数的所有值?

c++ debugging windbg stack-trace

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

如何将矩阵分解为内核矩阵的乘积?

问题陈述:

假设我们有一组内核平方矩阵= {K1,K2,..,Kn}.给定矩阵A找到涉及最少量矩阵乘法的乘积,其给出:A = Ki*Kj*...*Kz

例:

Say we have these two matrices in the set of Kernel matrices:
K1 = (1 2)    K2 = (5 6)
     (3 4)         (7 8)

Then we have a solution for A=K1*K2=(19 22) and also for B=K1*K1*K2=(105 122)
                                    (43 50)                         (229 266)
Run Code Online (Sandbox Code Playgroud)

是否有可用于查找解决方案的现有C或C++库?如果没有,是否有任何已知的算法/启发式?

PS这不是一个家庭作业问题或理论问题或其他一些小事.对于我在日常工作中正在进行的辅助项目,这是一个真正需要解决的问题.

c++ math matrix linear-algebra

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