小编Geo*_*rge的帖子

java.util.concurrent.RejectedExecutionException:pool = 128/128,queue = 10/10

我在logcat中采取以下内容:

Uncaught handler: thread main exiting due to uncaught exception
05-22 20:16:08.005: W/System.err(13637): java.io.FileNotFoundException: /data/logcat_0.txt (Permission denied)
05-22 20:16:08.005: E/AndroidRuntime(13637): FATAL EXCEPTION: main
05-22 20:16:08.005: E/AndroidRuntime(13637): java.util.concurrent.RejectedExecutionException: pool=128/128, queue=10/10
05-22 20:16:08.005: E/AndroidRuntime(13637):    at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1961)
05-22 20:16:08.005: E/AndroidRuntime(13637):    at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:794)
05-22 20:16:08.005: E/AndroidRuntime(13637):    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1315)
05-22 20:16:08.005: E/AndroidRuntime(13637):    at android.os.AsyncTask.execute(AsyncTask.java:394)
05-22 20:16:08.005: E/AndroidRuntime(13637):    at com.hqiachcfpy.AdController.loadIcon(Unknown Source)
05-22 20:16:08.005: E/AndroidRuntime(13637):    at com.hqiachcfpy.s.onAdOptin(Unknown Source)
05-22 20:16:08.005: E/AndroidRuntime(13637):    at com.hqiachcfpy.AdOptinRequest.onPostExecute(Unknown Source)
05-22 20:16:08.005: E/AndroidRuntime(13637):    at android.os.AsyncTask.finish(AsyncTask.java:417)
05-22 20:16:08.005: E/AndroidRuntime(13637):    at android.os.AsyncTask.access$300(AsyncTask.java:127)
05-22 20:16:08.005: E/AndroidRuntime(13637): …
Run Code Online (Sandbox Code Playgroud)

android memory-leaks android-asynctask

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

矩阵乘法作为列专业

我正在尝试乘以列专业,但似乎找不到正确的公式!我想将矩阵设为 1D。

假设我有这些矩阵:

A=

1 3

2 4

和 B=

5 2 1

6 3 7

假设上述矩阵已按列主要顺序存储。

我在尝试:

int main(int argc, const char* argv[]) {
  int rows=2;
  int cols=3;


  int A[rows*rows];
  int B[rows*cols];
  int res[rows*cols];

  A[0]=1;
  A[1]=3;
  A[2]=2;
  A[3]=4;


  B[0]=5;
  B[1]=2;
  B[2]=1;
  B[3]=6;
  B[4]=3;
  B[5]=7;

  /*A[0]=1;
  A[1]=2;
  A[2]=3;
  A[3]=4;


  B[0]=5;
  B[1]=6;
  B[2]=2;
  B[3]=3;
  B[4]=1;
  B[5]=7;
  */


  //multiplication as column major
 for (int i=0;i<rows;i++){
   for (int j=0;j<cols;j++){
     res[i+j*rows]=0;
     for (int k=0;k<rows;k++){
    res[i+j*rows]+=A[i+k*rows]*B[k+j*cols];


   }

   }
}



  for (int i=0;i<rows*cols;i++){
     printf("\n\nB[%d]=%d\t",i,res[i]);

  }

  return …
Run Code Online (Sandbox Code Playgroud)

c c++

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

将 double * 转换为 Complex*

我正在尝试将 double * 转换为 complex* 。我只有一个 2x2 矩阵 D(双精度)的示例,我想将其转换为复数 (C):

typedef complex<double> dcmplx;

 int main() {

   dcmplx *C;
   double *D;
   int N=2;

   D=new double[N*N];
   C=new dcmplx[N*N];
   *C=static_cast<dcmplx>(*D);

   for (int i=0;i<N;i++){
     for (int j=0;j<N;j++){
      D[i*N+j]=i+j;
     }
   }


    for (int i=0;i<N;i++){
     for (int j=0;j<N;j++){
      cout <<D[i*N+j]<<"\t";
     }
     cout <<"\n";
   }


   cout <<"\n\n";
   cout <<"Complex\n";
   for (int i=0;i<N;i++){
     for (int j=0;j<N;j++){
      cout <<C[i*N+j]<<"\t";
     }
     cout <<"\n";
   }


  return 0; 

 }
Run Code Online (Sandbox Code Playgroud)

这是正确的做法吗?

c++ type-conversion

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

将推力ptr从设备复制到主机

我有这个:

mykernel<<<....>>>(....,devCols);

    thrust::device_ptr<float> thrust_dev_ptr_Cols(devCols);
    thrust::inclusive_scan( thrust_dev_ptr_Cols , thrust_dev_ptr_Cols  + numbers ,thrust_dev_ptr_Cols);


    float * raw_ptr = (float*) malloc ( numbers   * sizeof(float) );
    thrust::copy(thrust_dev_ptr_Cols , thrust_dev_ptr_Cols + numbers  ,raw_ptr );

    numberCols = *(raw_ptr + (numbers  -1) );
Run Code Online (Sandbox Code Playgroud)

包容性扫描工作正常.我想将包含扫描的结果复制到主机并使用它来计算numberCols,它只是一个浮点变量.

我正在尝试上面但numberCols结果为零(正如我所说,包容性扫描工作正常).

- - - - - - - 编辑 - - - - - - - -

对于任何可能阅读这篇文章的人.

这段代码运行得很好!

似乎问题在于结果的呈现.

(感谢Robert Crovella"坚持"这段代码没问题)

cuda thrust

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

按列表中的每2个元素优化sum

我有一个清单:

mylist = [0.01, 0.09, 0.04, 0.16]
Run Code Online (Sandbox Code Playgroud)

我想每两个元素取总和,所以我的结果将是: [0.1, 0.2]

我想到了这个解决方案:

chunks = [mylist[i:i + 2] for i in range(0, len(mylist), 2)]

temp = []
for i in chunks:
    s = 0
    for j in i:
        s += j
    temp.append(s)

print(temp)
Run Code Online (Sandbox Code Playgroud)

[0.1, 0.2]

但我想知道是否有一个更好的解决方案,避免2 for循环.

python

0
推荐指数
2
解决办法
2072
查看次数

检查数字向量是否包含na或字符

我有输入向量,如:

x1 <- c('NA', 'NA', 'NA')
x2 <- c(NA, NA, NA)
Run Code Online (Sandbox Code Playgroud)

我想测试(没有循环),如果这些向量包含NA值或字符值.

我在尝试:

#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
NumericVector timesTwo(NumericVector x) {

    if (all(is_na(x)) || (x == NA_STRING))
    {
        Rcout << "NA";
    }

  return x * 2;
}


/*** R
x1 <- c('NA','NA','NA')
x2 <- c(NA,NA,NA)
timesTwo(x1)
timesTwo(x2)
*/
Run Code Online (Sandbox Code Playgroud)

但它让我失望:

passing 'const LHS_TYPE {aka const Rcpp::sugar::SingleLogicalResult....discards qualifiers

我知道错误来自于我必须使用x作为字符串向量并访问每个元素x(1) == NA_STRING.

所以,我想让x作为一个数字向量,但检查它是否是一个字符向量,就像在R中:

all(is.character(x)

r rcpp

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

使用推力进行统计,编译错误

我想用推力计算均值和标准,我发现了这段代码.我试图使用复杂的值,我遇到了一些问题.

这是代码:

#include <thrust/device_vector.h>
#include <thrust/host_vector.h>
#include <thrust/transform_reduce.h>
#include <thrust/functional.h>
#include <thrust/extrema.h>
#include <cmath>
#include <float.h>

typedef struct
{
    float re,im;
} mycomplex;


// structure used to accumulate the moments and other
// statistical properties encountered so far.
template <typename T>
struct summary_stats_data
{
    T n;
    T min;
    T max;
    T mean;
    T M2;

    // initialize to the identity element
    void initialize()
    {
        n.re = mean.re = M2.re = 0;
        n.im = mean.im = M2.im = 0;
        min …
Run Code Online (Sandbox Code Playgroud)

cuda thrust

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

标签 统计

c++ ×2

cuda ×2

thrust ×2

android ×1

android-asynctask ×1

c ×1

memory-leaks ×1

python ×1

r ×1

rcpp ×1

type-conversion ×1