小编Ple*_*t94的帖子

C - 2D 卷积

我正在尝试用 C 语言进行矩阵卷积。

我尝试过一些方法,但无法正确执行。

N[WIDTH1][WIDTH2]是输入矩阵,M[MASK_WIDTH1][MASK_WIDTH2]是核矩阵, 是P[][]输出矩阵。

第一次尝试:

void convolution_2D(int N[][WIDTH2], int M[][MASK_WIDTH2], int P[][WIDTH2]) {

// find center position of kernel (half of kernel size)
int kCenterX = MASK_WIDTH2 / 2;
int kCenterY = MASK_WIDTH1 / 2;

for (int i = 0; i < WIDTH1; ++i)              // rows
{
    for (int j = 0; j < WIDTH2; ++j)          // columns
    {
        for (int m = 0; m < MASK_WIDTH1; ++m)     // kernel rows
        {
            int …
Run Code Online (Sandbox Code Playgroud)

c matrix convolution

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

Vaadin UI - 不能为每个客户端使用静态字段

我正在创建一个网络应用程序.

我有一个MyUI延伸UI.

    public class MyUI extends UI {

        public static Authentication AUTH;

        @Override
        protected void init(VaadinRequest vaadinRequest) {

            AUTH = new Authentication();

            updateContent();

        }

//other methods

    }
Run Code Online (Sandbox Code Playgroud)

Authentication()我有用户登录.当我注销时,该用户被设置为null.

我注意到当我从两个设备访问服务器时,所以当我应该有两个连接到服务器时,当有人进行注销时,另一个也注销了.

在Authentication类中有以下方法:

public void doLogout() {
    System.out.println("User: " + this.user.getMail() + " has logged out.");
    this.user = null;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试从其他帐户注销时,我收到错误,user.getMail()因为用户已设置为null.

com.vaadin.ui.UI独一无二的?如何处理Vaadin中的不同连接?

java vaadin vaadin8

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

CUDA:__ sattrict__标签用法

我不太了解__restrict__CUDA中标签的概念.

我已经读过使用__restrict__避免指针别名,特别是如果指向的变量是只读的,变量的读取被优化,因为它被缓存.

这是代码的简化版本:

__constant__ float M[M_DIM1][M_DIM2];

__host__ void function(float N[][DIM2], float h_M[][M_DIM2], float P[][DIM2]);

__global__ void kernel_function(const float* __restrict__ N, float *P);

__host__ void function(float N[][DIM2], float h_M[][M_DIM2], float P[][DIM2]) {

    int IOSize = DIM1 * DIM2 * sizeof(float);
    int ConstSize = M_DIM1* M_DIM2* sizeof(float);
    float* dN, *dP;
    cudaMalloc((void**)&dN, IOSize);
    cudaMemcpy(dN, N, IOSize, cudaMemcpyHostToDevice);

    cudaMemcpyToSymbol(M, h_M, ConstSize);

    cudaMalloc((void**)&dP, IOSize);

    dim3 dimBlock(DIM1, DIM2);
    dim3 dimGrid(1, 1);

    kernel_function << <dimGrid, dimBlock >> >(dN, dP);

    cudaMemcpy(P, dP, IOSize, cudaMemcpyDeviceToHost); …
Run Code Online (Sandbox Code Playgroud)

memory pointers memory-management cuda

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

标签 统计

c ×1

convolution ×1

cuda ×1

java ×1

matrix ×1

memory ×1

memory-management ×1

pointers ×1

vaadin ×1

vaadin8 ×1