小编Yng*_*dal的帖子

是否有openstreetmap的API?

我想知道是否有任何API我可以通过查询OSM数据,例如; 是(lon_1,lat_1)在陆地还是在海上?或者是否可以将岛屿定义为定义明确的多边形?到目前为止,我见过的唯一用法就是渲染OSM数据(生成切片)的工具.

api geospatial openstreetmap

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

如何以程序员愉快的方式使用CUDA常量内存?

我正在使用CUDA框架开发一个数字运算应用程序.我有一些静态数据应该可供所有线程访问,所以我把它放在常量内存中,如下所示:

__device__ __constant__ CaseParams deviceCaseParams;
Run Code Online (Sandbox Code Playgroud)

我使用调用cudaMemcpyToSymbol将这些参数从主机传输到设备:

void copyMetaData(CaseParams* caseParams)
{
    cudaMemcpyToSymbol("deviceCaseParams", caseParams, sizeof(CaseParams));
}
Run Code Online (Sandbox Code Playgroud)

哪个有效.

无论如何,似乎(通过反复试验,以及从网上阅读帖子),由于某些原因,deviceCaseParams的声明及其复制操作(对cudaMemcpyToSymbol的调用)必须在同一个文件中.目前我在.cu文件中有这两个,但我真的想在.cuh文件中有参数struct,这样任何实现都可以看到它.这意味着我还必须在头文件中使用copyMetaData函数,但这会混淆链接(已定义的符号),因为.cpp和.cu文件都包含此头文件(因此MS C++编译器和nvcc都编译它) ).

有没有人对设计有任何建议?

更新:查看评论

c++ linker cuda header visual-studio

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

C/asm程序在没有特权的用户运行时对Linux有什么害处?

我一直在考虑一个场景,让用户(可能是任何人,可能有不良意图)提交在Linux PC上运行的代码(让我们称之为基准节点).目标是为单线程例程创建一种自动基准测试环境.假设一个网站将一些代码发布到代理.此代理将此代码交给基准节点,基准节点只有代理的以太网连接,而不是互联网本身.

如果允许任何用户发布C/asm代码在基准节点上运行,那么面临哪些安全挑战?做出以下假设:

  • 该程序作为非特权用户运行
  • 代理将有机会终止基准节点上的进程(例如,采用无限循环的方案)
  • 代理能够重启基准节点(如果它回复...)

那么,实际上这个用户空间程序是否可能导致操作系统崩溃,或者使机器对代理不可用?通过汇编,程序员基本上可以做任何他想做的事情(例如操纵堆栈指针),我想知道Linux在这方面有多么限制/强大.我也知道进程有可能请求共享内存区域与其他进程(shm),这可能也在这里发挥作用?

任何有关此主题的文献或文章都是非常受欢迎的.

沙盒解决方案也可能很有趣,但重要的是CPU必须在基准测试期间执行100%的能力(至少在运行基准测试的核心上).

c linux security benchmarking assembly

5
推荐指数
2
解决办法
393
查看次数

绝对href可以在生产网站上使用吗?

由于我正在处理的项目中有一些apache重写规则,因此通常绝对可以使href和链接变得很方便,因为这样可以确保浏览器无论URL是什么,都会在该链接后面找到该文件.

例:

<img src="http://localhost/project/gfx/abc.jpg"></img>
Run Code Online (Sandbox Code Playgroud)

代替

<img src="gfx/abc.jpg"></img>
Run Code Online (Sandbox Code Playgroud)

前者会比后者慢,还是以任何方式都不好?

这并不像我认为这是优化; 我想我会使用绝对的(除非有一个非常好的理由不这样做),但我很想知道使用绝对URL是否正常.

请注意,这将适用于所有链接/路径(超链接,css和javascript包含,AJAX调用等)

html apache mod-rewrite url-rewriting

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