小编Rog*_*ger的帖子

C程序的执行时间

我有一个C程序,旨在在几个处理器上并行运行.我需要能够记录执行时间(可能是1秒到几分钟).我已经搜索了答案,但他们似乎都建议使用该clock()函数,然后计算程序所用的时钟数除以该Clocks_per_second值.

我不确定如何Clocks_per_second计算价值?

在Java中,我只是在执行之前和之后以毫秒为单位.

C中有类似的东西吗?我看过了,但我似乎无法找到比第二种解决方案更好的方法.

我也知道分析器是一个选项,但我希望自己实现一个计时器.

谢谢

c benchmarking

194
推荐指数
9
解决办法
40万
查看次数

CUDA内核 - 嵌套for循环

您好我正在尝试编写CUDA内核来执行以下代码.

for (n = 0; n < (total-1); n++)
{
  a = values[n];

  for ( i = n+1; i < total ; i++)
  {
    b = values[i] - a;
    c = b*b;

    if( c < 10)
        newvalues[i] = c;
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我目前所拥有的,但它似乎没有给出正确的结果?有谁知道我做错了什么.干杯

__global__ void calc(int total, float *values, float *newvalues){

float a,b,c;

int idx = blockIdx.x * blockDim.x + threadIdx.x;

for (int n = idx; n < (total-1); n += blockDim.x*gridDim.x){
    a = values[n];

    for(int i = n+1; i < …
Run Code Online (Sandbox Code Playgroud)

cuda

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

在GPU编程中使用条件时,工作项执行什么?

如果您在波前执行工作项并且存在条件,例如:

  if(x){
        ...
  }
  else{
       ....
  }
Run Code Online (Sandbox Code Playgroud)

工作项执行什么?是这样的情况,波前的所有工作项都将执行第一个分支(即x == true).如果没有x为false的工作项,则跳过其余的条件?

如果一个工作项采用替代路径会发生什么.我是否告诉所有工作项也将执行备用路径(因此执行两个路径?).为什么会出现这种情况,以及如何解决程序执行问题

cuda gpu gpgpu opencl gpu-programming

7
推荐指数
1
解决办法
5075
查看次数

在eclipse中排除JUnit测试

嘿,
我有一大堆单元测试.我已将它们放入合适的测试套件中.我希望能够单击根目录并运行JUnit测试来执行所有测试.但是,如果我这样做,它会运行所有测试,然后运行测试套件.因此,再次运行所有测试.

有没有办法在Eclipse中排除测试套件?谢谢

java

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

预先计算大型值表

我的程序中有一个数学公式,它包含两个值,介于0和1之间,并且需要做很多工作才能找到答案.

我也希望能够做反向,即我想知道什么输入值将产生一定的输出.我无法通过分析来做到这一点,因为可以从众多输入中产生相同的答案,并且公式过于复杂.

我的问题是我目前正在做这样的事情,这需要相当长的时间来计算

  for(double i = 0; i <= 1 ; i += 0.0001)
      for(double j = 0; j <= 1; j+= 0.0001)
           answer = formula(i,j); //do the math
           if( Math.abs(answer - answerWanted) < 0.001)
                //close match found
Run Code Online (Sandbox Code Playgroud)

看到公式是静态的,我当然可以预先计算这些值.我认为查找值比执行许多计算要快得多.

我之前从未做过这样的事情.有谁知道使用什么数据结构/如何索引/如何存储结果?目前我唯一的想法是,我可以以某种方式对答案进行排序以减少搜索空间,或者只是在运行时初始化一个巨大的数组.如果重要,答案只能在0到2000之间.

java algorithm

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

递归函数需要很长时间才能运行

我分析了我的代码,发现我的程序花了大约85%的时间执行这个特定的递归函数.该函数旨在计算在给定初始位置(x,y)的情况下到达马尔可夫链中的一组状态的概率.

private static boolean condition(int n){
    int i = 0;
    while ( n >= i){
        if( n == i*4 || n == (i*4 - 1))
            return true;
            i++;
        }
    return false;
}

public static double recursiveVal(int x, int y, double A, double B){

    if(x> 6 && (x- 2 >= y)){ return 1;}
    if(y> 6 && (y- 2 >= x)){ return 0;}
    if(x> 5 && y> 5 && x== y){ return (A*(1-B) / (1 -(A*B) - ((1-A)*(1-B))));}

    if(condition(x+ y)){
        return (recursiveVal(x+1, …
Run Code Online (Sandbox Code Playgroud)

java

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

SQL查询使用CASE WHEN来转动列

我有下表:

Bank:
name  val   amount
John   1     2000
Peter  1     1999
Peter  2     1854
John   2     1888
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写SQL查询以提供以下结果:

name  amountVal1 amountVal2  
John    2000        1888   
Peter   1999        1854    
Run Code Online (Sandbox Code Playgroud)

到目前为止我有这个:

SELECT name,
CASE WHEN val = 1 THEN amount ELSE 0 END AS amountVal1,
CASE WHEN val = 2 THEN amount ELSE 0 END AS amountVal2
FROM bank
Run Code Online (Sandbox Code Playgroud)

但是,它给出了稍微错误的结果:

name  amountVal1 amountVal2  
John    2000        0
Peter   1999        0
John    0          1888   
Peter   0          1854    
Run Code Online (Sandbox Code Playgroud)

如何修改我的查询以提供正确的演示文稿?谢谢

sql pivot

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

ER图,这是允许的吗?

我必须基于关系模式创建ER图.

有一个玩家桌子和一个区域表.玩家可以在许多区域"生活",每个区域由一个或多个玩家拥有.

我想出了这个简单的ER图,但我不确定是否允许每种方式都有关系?

http://img149.imageshack.us/i/84754821.png/

干杯

database database-design

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