小编ved*_*eda的帖子

使用.NET绘制图形

我需要从输入文件中读取一些数据并根据输入绘制图表...

我想用visual C#绘制图形.是否有任何内置函数可以在Visual C#中绘制图形.如果没有,我该怎么做...

我想用asp.net创建

c# graph

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

MPI:Printf语句未在合适的时间执行

我有一个小程序.

#include "mpi.h"
#include <stdio.h>

int main(int argc, char *argv[])
{
int rank, size;
int buf;
int err;
MPI_Status status;

err = MPI_Init(&argc, &argv);
if(err == MPI_SUCCESS) {
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);

if(rank == 0) {
printf("Buffer size is less than 10\n");
printf("Enter the buffer size: ");
scanf("%d", &buf);
MPI_Send(&buf, 1, MPI_INT, 1, 10,
MPI_COMM_WORLD);
}
else {
MPI_Recv(&buf, 1, MPI_INT, 0, 10,
MPI_COMM_WORLD, &status);
}
printf("process[%d]: buffer size : %d\n", rank,buf);

}
err = MPI_Finalize();
return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是: …

c printf multithreading mpi

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

CUDA:编译我的第一个cuda程序时出错

我是CUDA编程的新手.我编写了我的第一个代码,当我编译它时,它向我显示了很多错误.任何人都可以告诉我有什么问题

代码

#include <stdio.h>
#include "cuda.h"
#include <stdlib.h>

__global__ void kernel(void) {
}

int main(int argc, char *argv[])
{
        kernel<<<1,1>>>();
        printf("finished \n");
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误是

cuda.c:5: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âvoidâ
cuda.c:7: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âvoidâ
cuda.c: In function âmainâ:
cuda.c:12: error: âkernelâ undeclared (first use in this function)
cuda.c:12: error: (Each undeclared identifier is reported only once
cuda.c:12: error: for each function it appears in.)
cuda.c:12: error: …
Run Code Online (Sandbox Code Playgroud)

cuda

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

分散矩阵 - MPI

我尝试逐行向所有处理器散布矩阵,但它导致了分段错误..我不知道我做错了什么..这是我的代码

      if(rank == 0) {
                    A_row = 10;
                    A_col = 10;
                    /* calculate the strip size */
                    strip_size = A_row / size;

                    /* genarate Matrix A */
                    A = (double **)malloc(sizeof(double*) * 10);
                    int k = 0;
                    for(i = 0; i < 10; i++) {
                            A[i] = (double*)malloc(sizeof(double) * 10);
                            for(j = 0; j < 10; j++) {
                                    A[i][j] = k;
                                    k++;
                                    printf("%lf  ", A[i][j]);
                            }
                            printf("\n");
                    }
            }

            /* Broadcasting the row, column size of Matrix A as well …
Run Code Online (Sandbox Code Playgroud)

matrix mpi

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

CUDA:费米(特斯拉M2090)毫无理由地生成CUDA_EXCEPTION_10

我有一小段代码在Nvidia旧架构(特斯拉T10处理器)上运行完美但在费米(特斯拉M2090)上没有

我了解到费米的表现略有不同.由于哪些不安全的代码可能在旧架构上正常工作,而在Fermi上它捕获了bug.

但我不知道如何解决它.

这是我的代码:

__global__ void exec(int*arr_ptr,int size,int*result){

    int tx = threadIdx.x;
    int ty = threadIdx.y;

    *result = arr_ptr[-2];
Run Code Online (Sandbox Code Playgroud)

}

void run(int*arr_dev,int size,int*result){

    cudaStream_t stream = 0;
    int *arr_ptr = arr_dev + 5;

    dim3 threads(1,1,1);
    dim3 grid (1,1);

    exec<<<grid, threads, 0, stream>>>(arr_ptr, size, result);
Run Code Online (Sandbox Code Playgroud)

}

因为我正在访问arr_ptr[-2],费米投掷CUDA_EXCEPTION_10, Device Illegal Address.但事实并非如此.地址合法.

谁可以帮我这个事.


我的驱动程序代码是

int main(){
    int *arr;
    int *arr_dev = NULL;
    int result = 1;

    arr = (int*)malloc(10*sizeof(int));

    for(int i = 0; i < 10; i++)
            arr[i] = …
Run Code Online (Sandbox Code Playgroud)

cuda

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

.NET中是否有内置的稳定排序例程和交换功能?

在.NET中是否有任何内置的稳定排序例程?

我知道C++在"算法"下有一个内置的排序例程std::sort().同样,我们有什么东西可以和C#一起使用吗?

另外,.NET中是否有内置交换功能?

.net c# standard-library built-in stable-sort

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

是否有可能通过使用openMP在fstream(文件读取)上获得一些性能提升

我想知道使用openMP是否有可能在文件读取方面获得一些性能提升.

示例代码,

fstream file;

file.open("test.txt",ios::in);

file.seekg(0,ios::end);

int len = file.tellg();

char *arr = new char[len];

char *temp = new char[1];

int i;

#pragma omp parallel for shared(arr, len) private(temp, i)
for(i = 0; i < len; i++)
{
    file.seekg(i);
    file.read(temp,1);
    arr[i] = temp[0];
}
Run Code Online (Sandbox Code Playgroud)

我想使用多个线程进行I/O操作是一个糟糕的选择,因为最终文件读取操作将被序列化.但是,我仍然希望能否获得性能提升.此外,我还想知道openMP如何处理并行文件读取操作.

c++ fstream openmp

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

在并行区域内使用"抛出异常"可以吗?

在并行区域内使用"抛出异常"会不会很好?

当一个线程抛出异常时,其余线程会发生什么?

码:

#pragma omp parallel for
for(int i = 0; i < n; i++)
{
     if(arr[i] < 0)
       throw BadParameter("bad array value");
}
Run Code Online (Sandbox Code Playgroud)

c++ openmp

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

如何通过该程序找到Nvidia GPU(特斯拉,费米或开普勒)的类型

任何人都可以告诉我如何通过程序找到GPU类型(费米,特斯拉或开普勒),以便根据GPU类型调用正确的函数.

通过cudaDeviceProp.major,我能够通过他们的计算能力区分Fermi和Tesla.但我无法区分费米和开普勒.

有谁知道如何找到它.

cuda nvidia

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

C++:隐式类型转换

我对隐式类型转换感到有点困惑.鉴于以下计划

   float x = 4.23423451;
   double y = 4.23423451;

   float z = 101.9876;

   float res1 = x * z;
   float res2 = y * z;

   std::cout << "res1 & res2 " << res1 << "  & " << res2 << std::endl;
   std::cout << "equality " << (res1 == res2) << std::endl;
Run Code Online (Sandbox Code Playgroud)

输出是

   res1 & res2 431.839  & 431.839
   equality 1
Run Code Online (Sandbox Code Playgroud)

我的问题是"对于x,y和z(x = y)的任何值以及任何编译器,等式是否总是正确的?"

res2 = y*z;

变量"y"是否会被类型化为浮点数或变量"z"是否被类型转换为double?

c++

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

标签 统计

c++ ×3

cuda ×3

c# ×2

mpi ×2

openmp ×2

.net ×1

built-in ×1

c ×1

fstream ×1

graph ×1

matrix ×1

multithreading ×1

nvidia ×1

printf ×1

stable-sort ×1

standard-library ×1