小编Jua*_*eni的帖子

printf里面有CUDA __global__函数

我目前正在GPU上编写矩阵乘法并希望调试我的代码,但由于我不能在设备函数中使用printf,我还能做些什么来查看该函数内部的内容.这是我目前的功能:

__global__ void MatrixMulKernel(Matrix Ad, Matrix Bd, Matrix Xd){

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

    int bx = blockIdx.x;
    int by = blockIdx.y;

    float sum = 0;

    for( int k = 0; k < Ad.width ; ++k){
        float Melement = Ad.elements[ty * Ad.width + k];
        float Nelement = Bd.elements[k * Bd.width + tx];
        sum += Melement * Nelement;
    }

    Xd.elements[ty * Xd.width + tx] = sum;
}
Run Code Online (Sandbox Code Playgroud)

我很想知道Ad和Bd是否是我认为的,看看是否真的被调用了.

c c++ cuda gpu-programming

24
推荐指数
2
解决办法
6万
查看次数

torch.tensor和torch.Tensor有什么区别?

从0.4.0版开始,可以使用torch.tensortorch.Tensor

有什么不同?提供这两种非常相似且令人困惑的替代方案的原因是什么?

python pytorch

13
推荐指数
4
解决办法
1312
查看次数

PlantUML:重叠激活(多线程)

我试图在我的序列图中显示重叠的激活(我使用的是 PlantUML),但它们显示为嵌套激活:

例如:

@startuml
participant T1
participant T2
participant Main

T1 -> Main ++ #red: start
T2 -> Main ++ #yellow: start

Main --> T1 -- #red : done
Main --> T2 -- #yellow : done

@enduml
Run Code Online (Sandbox Code Playgroud)

这将显示嵌套的红色/黄色激活,而我期望红色在黄色之前完成。

这是支持的吗?难道我做错了什么?

谢谢!

uml plantuml

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

Tensorflow摘要:添加一个不属于计算图的变量

我有一个变量随着列车迭代而变化.变量不作为计算图的一部分计算.

是否可以将其添加到tensorflow摘要中,以便将其与损失函数一起显示?

python machine-learning tensorflow tensorboard

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

是否可以对需要相同属性的项目进行分组?

这更像是一个风格问题,但仍然很有趣.是否可以对事物进行分组,以便属性只有一次?

例如,在以下代码中,我使用相同的属性三次:

#[cfg(target_os = "linux")]
extern crate nix;
#[cfg(target_os = "linux")]
extern crate libc;

#[cfg(target_os = "linux")]
use std::{
    mem,
};
Run Code Online (Sandbox Code Playgroud)

rust

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

隐藏自动生成的 CTest 目标

我在 CLion 中使用 CMake 和 CTest。令人讨厌的是,CTest 生成了大量我不关心的目标:

  • 连续
  • 持续构建
  • 连续配置
  • 连续覆盖
  • 连续内存检查
  • 连续启动
  • 连续提交
  • 连续测试
  • 持续更新
  • 实验性的
  • 实验建造
  • 实验配置
  • 实验覆盖
  • 实验性内存检查
  • 实验开始
  • 实验提交
  • 实验测试
  • 实验更新
  • 每晚
  • 每晚构建
  • 夜间配置
  • 夜间报道
  • 夜间内存检查
  • 每晚开始
  • 每晚提交
  • 夜间测试
  • 每晚更新

这些都出现在 CLion 中。很烦人,因为我相信你会同意。有没有办法去除它们?我对任何解决方案持开放态度:

  1. 让 CTest 首先不要生成它们。
  2. 在 CTest 创建目标后删除目标。
  3. CLion 中的设置以隐藏它们。

c++ cmake ctest clion

7
推荐指数
3
解决办法
1263
查看次数

tqdm.使用多个栏

我想有两个独立的进度条.

这是一个最小的例子,如果我使用两个条形,它们没有正确更新.而是创建新的条形图.

import time
from tqdm import *

pbar1 = tqdm(total=100)
pbar2 = tqdm(total=200)

for i in range(10):
    pbar1.update(10)
    pbar2.update(20)
    time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

运行示例时.我有类似的东西:

  0%|          | 0/100 [00:00<?, ?it/s]
 20%|??        | 20/100 [00:01<00:04, 19.97it/s]
 30%|???       | 30/100 [00:02<00:04, 15.36it/s]
 40%|????      | 40/100 [00:03<00:04, 13.23it/s]
 50%|?????     | 50/100 [00:04<00:04, 12.05it/s]
 60%|??????    | 60/100 [00:05<00:03, 11.35it/s]
 70%|???????   | 70/100 [00:06<00:02, 10.90it/s]
 80%|????????  | 80/100 [00:07<00:01, 10.61it/s]
 90%|????????? | 90/100 [00:08<00:00, 10.42it/s]
100%|??????????| 100/100 [00:09<00:00, 10.28it/s]
100%|??????????| 200/200 [00:09<00:00, 20.57it/s]
Run Code Online (Sandbox Code Playgroud)

如图所示,更新无法正常工作并添加新栏.有两个独立的条可以正确更新吗?

python tqdm

7
推荐指数
2
解决办法
6805
查看次数

切片的安全memset相当于什么?

在许多情况下,我需要清除缓冲区或将切片设置为特定值.这样做的本地推荐方法是什么?

这是无效的Rust,但我想做类似的事情:

let mut some_buffer = vec![0u8; 100];
buffer[10..20].set(0xFF)
Run Code Online (Sandbox Code Playgroud)

我可以使用for循环,但我觉得我错过了一些东西,因为我是Rust的新手.

在C++中,我会做类似的事情:

std::array<int,6> foobar;
foobar.fill(5);
Run Code Online (Sandbox Code Playgroud)

在Python中,它将是类似的:

tmp = np.zeros(10)
tmp[3:6]=2
Run Code Online (Sandbox Code Playgroud)

rust

7
推荐指数
2
解决办法
1306
查看次数

这是什么意思?

我正在努力学习Haskell.

我在这里阅读代码[1].我只是复制并过去代码的一部分:46和298-300.

问题:(..)是什么意思?

我很难过,但我没有结果.

module Pos.Core.Types(
-- something here

 SharedSeed (..) -- what does this mean?

) where


newtype SharedSeed = SharedSeed
{ getSharedSeed :: ByteString
} deriving (Show, Eq, Ord, Generic, NFData, Typeable)
Run Code Online (Sandbox Code Playgroud)

[1] https://github.com/input-output-hk/cardano-sl/blob/master/core/Pos/Core/Types.hs

haskell cardano

6
推荐指数
2
解决办法
196
查看次数

如何仅为给定平台使用箱子?

我想nix在项目中使用箱子.

但是,这个项目还有一个可接受的OSX和Windows替代实现,我想使用不同的箱子.

我目前nix在Linux平台上只想表达什么?

rust rust-cargo

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