小编mch*_*hen的帖子

如何计算GPU程序的加速?

动机:我的任务是测量我的CUDA C代码的Karp-Flatt度量并行效率,这需要计算加速.特别是,我需要将所有这些指标绘制为处理器数量的函数p.

定义: 加速是指并行算法比相应的顺序算法快多少,定义为:

在此输入图像描述

问题:我已经在CUDA C中实现了我的算法,并且已经计时了Tp.但是,在确定时仍存在一些问题Sp:

  • 如何在T1不完全重写代码的情况下观察?
    • 我可以在串口中执行CUDA代码吗?
  • 什么p时候我运行不同的内核与不同数量的线程?
    • 它是指不.线程或没有.整个运行时使用的处理器?
    • 由于这两个量在整个运行期间也会有所不同,是最大值还是平均值?
    • 我如何限制我的代码在一个处理器子集或更少的线程上运行!?

非常感谢.

performance metrics cuda gpgpu

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

解除"新"指针被认为是好的风格吗?

为了避免继续使用->而是直接使用对象,可以接受的做法是:

obj x = *(new obj(...));
...
delete &obj;
Run Code Online (Sandbox Code Playgroud)

c++ pointers new-operator dereference

14
推荐指数
3
解决办法
2506
查看次数

通过引用行为进行的data.table赋值不一致

当通过引用data.table使用来自第二列的列进行分配时data.table,结果是不一致的.当两个data.tables 的键列都没有匹配时,似乎y := y完全忽略了分配表达式- 甚至NA不返回s.

library(data.table)
dt1 <- data.table(id = 1:2, x = 3:4, key = "id")
dt2 <- data.table(id = 3:4, y = 5:6, key = "id")
print(dt1[dt2, y := y])
##    id x     # Would have also expected column:   y
## 1:  1 3     #                                   NA
## 2:  2 4     #                                   NA
Run Code Online (Sandbox Code Playgroud)

但是,当存在部分匹配时,不匹配的列具有占位符NA.

dt2[, id := 2:3]
print(dt1[dt2, y := y])
##    id x  y
## …
Run Code Online (Sandbox Code Playgroud)

r data.table

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

如何使用matplotlib在日期时间轴上绘制矩形?

我尝试使用以下代码在具有日期时间x轴的图形上绘制矩形:

from datetime import datetime, timedelta
from matplotlib.patches import Rectangle
import matplotlib.pyplot as plt

# Create new plot
fig = plt.figure()
ax = fig.add_subplot(111)

# Create rectangle
startTime = datetime.now()
width = timedelta(seconds = 1)
endTime = startTime + width
rect = Rectangle((startTime, 0), width, 1, color='yellow')

# Plot rectangle
ax.add_patch(rect)   ### ERROR HERE!!! ###
plt.xlim([startTime, endTime])
plt.ylim([0, 1])
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误:

TypeError: unsupported operand type(s) for +: 'float' and 'datetime.timedelta'
Run Code Online (Sandbox Code Playgroud)

出了什么问题?(我正在使用matplotlib版本1.0.1)

python matplotlib python-2.7

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

如何从std :: runtime_error继承?

例如:

#include <stdexcept>
class A { };
class err : public A, public std::runtime_error("") { };
int main() {
   err x;
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

随着("")runtime_error我得到:

error: expected '{' before '(' token
error: expected unqualified-id before string constant
error: expected ')' before string constant
Run Code Online (Sandbox Code Playgroud)

否则(没有(""))我得到

In constructor 'err::err()':
error: no matching function for call to 'std::runtime_error::runtime_error()'
Run Code Online (Sandbox Code Playgroud)

出了什么问题?

(你可以在这里测试一下:http://www.compileonline.com/compile_cpp_online.php)

c++ inheritance runtime-error

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

如何在R Shiny中对数据帧进行条件格式化?

使用Excel,您可以轻松地在单元格上应用条件格式:

在此输入图像描述

有没有机会用Shiny做这样的事情?我已经完成了教程,但这显然没有涵盖.

例如,我想有条件地为perm行添加颜色runExample("02_text"):

在此输入图像描述

formatting conditional r shiny

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

如何在R中重新抛出错误?

我将使用错误tryCatch并尝试处理错误.但是,如果我无法在本地处理错误(即委托给调用堆栈中较高位置的父函数的错误处理程序),如何重新抛出错误?

我尝试使用signalCondition但不是看到重新抛出的错误,我只看到NULL:

> error.can.be.handled <- function(e) F
> 
> foo <- function() stop("foo stop!")
> tryCatch(foo(),
+   error = function(e) {
+       if (error.can.be.handled(e)) {
+           # handle error
+       }
+       else
+           signalCondition(e) # Rethrow error
+   }
+ )
NULL  # I expected to see 'Error in foo() : foo stop!' here
Run Code Online (Sandbox Code Playgroud)

出了什么问题?

error-handling r try-catch

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

Roxygen2 - 如何@export引用类生成器?

例如,假设我有以下包调用Test,我想导出类A:

# In /R/Test.R:
#' @docType package
#' @import methods
#' @exportClass A
A <- setRefClass("A", methods = list(foo = identity))
Run Code Online (Sandbox Code Playgroud)

但是,在构建和加载后,使用A的生成器时出现以下错误:

> library(Test)
> A()$foo(1)
Error: could not find function "A"
Run Code Online (Sandbox Code Playgroud)

我检查过我的NAMESPACE文件内容很好:

exportClasses(A)
import(methods)
Run Code Online (Sandbox Code Playgroud)

出了什么问题?为什么不导出我的类生成器?

r package roxygen reference-class roxygen2

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

如何使用R DBI传递data.frame for UPDATE

使用RODBC,有类似的功能sqlUpdate(channel, dat, ...)允许您传递dat = data.frame(...)而不必构建自己的SQL字符串.

但是,使用R的DBI,我看到的dbSendQuery(conn, statement, ...)只是一个字符串的函数,statement并没有机会data.frame直接指定.

那么如何UPDATE使用data.frameDBI?

database r dataframe rodbc r-dbi

9
推荐指数
2
解决办法
3165
查看次数

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