当使用也运行主显示器的GPU在Windows上运行长OpenCL计算时,操作系统可能会使用超时检测和恢复中断计算.
根据我的经验(Java,使用NativeLibs4Java的JavaCL,使用NVidia GPU),这在ivoking clEnqueueReadBuffer时表现为"Out Of Resources"(cl_out_of_resources)错误.
问题是,由于其他原因(例如,由于访问无效内存),我在OpenCL程序时得到完全相同的消息.
是否存在(半)可靠的方法来区分由TDR引起的"资源外"和由其他问题引起的"资源外"?
或者,我至少可以(在Java /通过OpenCL API中)确定用于计算的GPU是否也在运行显示器?
但是我知道这个问题,那里的答案是关于clFinish没有返回的情况,这对我来说不是问题(我的代码到目前为止从未在OpenCL API中保持冻结).
我想向 ggplot 密度图添加额外的几何图形,但无需更改数据的显示限制,也无需通过自定义代码计算所需的限制。举个例子:
set.seed(12345)
N = 1000
d = data.frame(measured = ifelse(rbernoulli(N, 0.5), rpois(N, 100), rpois(N,1)))
d$fit = dgeom(d$measured, 0.6)
ggplot(d, aes(x = measured)) + geom_density() + geom_line(aes(y = fit), color = "blue")
ggplot(d, aes(x = measured)) + geom_density() + geom_line(aes(y = fit), color = "blue") + coord_cartesian(ylim = c(0,0.025))
Run Code Online (Sandbox Code Playgroud)
在第一个图中,拟合曲线(与“测量的”数据非常吻合)掩盖了测量数据的形状:
我想裁剪该图以包含第一个几何图形的所有数据,但裁剪拟合曲线,如第二个图所示:

虽然我可以使用 生成第二个图coord_cartesian,但这有两个缺点:
coord_cartesian。然而我需要将情节与facet_wrap(scales = "free") 如果在计算坐标限制时不考虑第二个几何图形,则可以实现所需的输出 - 是否可以在不计算自定义 R 代码中的限制的情况下实现?