我可以在CUDA处理器Tegra 1/2上开发应用程序,我需要什么以及Tegra 1/2 CUDA功能?我发现只有NVIDIA Debug Manager可以在Eclipse for Eclipse中进行开发,但我不知道他是否可以开发CUDA风格.
许多运行Android的新硬件平台,特别是NVIDIA的Tegra 2,支持OpenMAX进行媒体加速.在没有这种支持的情况下,在今天的设备上解码720p视频实际上是不可能的,但Android上支持的多路分离器数量相当渺茫.我能找到的唯一公共API是通过Android SDK中的MediaPlayer类.但是,Android源代码树中有多个地方与OpenMAX相关的花絮.
在我的设备(三星Galaxy Tab 10.1)上,我可以通过/ system/lib中的众多OpenMAX库访问硬件解码器,将我的视频应用程序与这些接口连接起来会很棒.有人能指出我有关实现OpenMAX驱动的解码器的信息吗?我找到了来自Khronos的文档,但没有任何代码示例代码或教程.我已经完成了demuxing甚至软件解码(通过libavcodec/libavformat),我只想把钩子放进去启用硬件编码.我也在这里假设有必要直接链接到设备上可用的设备,这使得它在便携性方面相当黯淡,但它的工作原理.
或者,我对任何人都知道用于访问Tegra 2设备上可用的视频解码的私有API感兴趣.特别是如果有一个像NVIDIA为桌面Linux发行版实现的vdpau界面,因为有足够的可用 - 但我无法找到表明支持的共享库.
我们有一个Android CPU依赖代码,我想看看客户使用的设备有多少是ARMv6/ARMv7,如果还有ARM v5,有多少ARMv6有VFP,Tegra或Neon百分比是多少.有哪些提示可以找到这样的统计数据?
BR STeN
我正在分析JNI Android应用程序.到目前为止,我设法使用Android-NDK-profiler对其进行了分析.它非常简单,所以我想进一步了解硬件信息,如缓存未命中,总线速度等.
我已经读过NVidia Tegra分析器非常强大,但是关于支持它的设备的信息并不多.我知道它需要Tegra 4,例如这个设备支持它:http://shield.nvidia.com/.
问题是它没有集成卡马拉,因此它对我无效.
有没有人尝试过与Nvidia Tegra探测器兼容的移动设备或平板电脑等设备?
我有一个应用程序执行一些图像拼接并使用OpenCV.它曾经工作,但突然间它(随机?)一直崩溃.我不知道为什么会发生这种情况,我没有更改代码,但也没有尝试过几周的功能.在我的Nvidia Shield上可能还有Android更新.
它曾经与OpenCV 2.4.10一起使用,但由于它不再适用于该版本,我试图切换到显示相同行为的OpenCV 3.0.0.
我的设置:
OpenCV_3.0.0_manager_3.00_armeabi-v7a.apk经理%path-to-sdk%/OpenCV3-android-sdk/sdk/java我的应用程序行为如下:它似乎成功加载和初始化OpenCV,甚至开始捕获和拼接一些图像.三四张图像后,它会崩溃.以下是崩溃期间记录的Android日志:
02-01 13:07:55.172: I/AudioFlinger(209): AUDIO_OUTPUT_FLAG_FAST accepted: frameCount=11258 mFrameCount=512
02-01 13:07:55.321: E/Camera2-ZslProcessor3(209): pushToReprocess: Could not find good candidate for ZSL reprocessing
02-01 13:07:55.582: E/Error(209): configureSensor: cannot find a sensor mode for 2592x1944
02-01 13:07:56.391: W/Camera2-ZslProcessor3(209): getCandidateTimestampLocked: ZSL queue has no metadata frames
02-01 13:07:56.391: E/Camera2-ZslProcessor3(209): pushToReprocess: Could not find good candidate for ZSL reprocessing
02-01 13:07:56.653: E/Error(209): configureSensor: cannot find a sensor mode …Run Code Online (Sandbox Code Playgroud) 任何人都在使用Nvidia Tegra X1进行张量流动?
我发现一些消息来源表明它可能存在于TK1上,或者TX1上存在严重的黑客攻击/错误,但还没有确定的配方.
我正在使用Jetson 2.3安装但尚未使用它 - 任何提示最受欢迎.
我在NVidia Jetson TX1上运行TensorFlow,当我训练像GoogleNet这样的大型网络时,我遇到内存不足.
TX1中的CPU和GPU没有单独的内存,它们共享一个内存.但是,似乎TensorFlow正在尝试分配单独的内存空间并从CPU端复制到GPU端.因此它需要2倍的内存而不是真正需要的内存.
在我看来,这种情况可以通过CPU和GPU之间的DMA访问来处理.据我所知,TensorFlow在GPU之间使用DMA(不确定哪一个处理这个.TensorFlow?或GPU驱动程序?).我可以在TensorFlow中使用CPU和GPU之间的DMA吗?或任何其他建议?
编辑:我刚刚发现CUDA中有零拷贝功能,这正是我想要的.但是,我可以在TensorFlow中使用此功能吗?
我正在执行一个简单的测试,它比较了使用malloc()分配的数据的访问延迟和使用cudaHostAlloc()从主机分配的数据(cpu正在执行访问).我注意到访问使用cudaHostAlloc()分配的数据比访问Jetson Tk1上的malloc()分配的数据要慢得多.
这不是离散GPU的情况,似乎只适用于TK1.经过一些调查,我发现用cudaHostAlloc()分配的数据是内存映射(mmap)到进程地址空间的/ dev/nvmap区域.对于映射在进程堆上的普通malloc数据,情况并非如此.我知道这个映射可能是允许GPU访问数据所必需的,因为必须从主机和设备都可以看到cudaHostAlloc的数据.
我的问题如下:从主机访问cudaHostAlloc数据的开销来自哪里?数据映射到CPU缓存上的/ dev/nvmap是否未缓存?
我是韩国的研究生。最近,我开始研究OpenCL和NVIDIA JETSON TK1。
NVIDIA JETSON K1可以运行CUDA程序,所以这是我的问题:我想在NVIDIA JETSON上执行OpenCL内核,但编译一个简单的示例,会给我一条错误消息"CL/cl.h" header no such file or directory。
那么,我应该如何继续在NVIDIA JETSON TK1上编译和执行OpenCL内核?
我正在尝试编译并运行此C ++代码
#include <GL/glut.h>
void displayMe(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.5, 0.0, 0.0);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(0.0, 0.5, 0.0);
glEnd();
glFlush();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(300, 300);
glutInitWindowPosition(100, 100);
glutCreateWindow("Hello world :D");
glutDisplayFunc(displayMe);
glutMainLoop();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是我在网上找到的“ opengl的问候世界”。我这样做是为了测试我大学的NVIDIA Tegra X1,TX1开发套件始终打开并连接到大学的网络。我正在通过ssh(使用-X标志)连接到TX1。编译很好,但是当我尝试运行程序时,出现此错误:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 154 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: …Run Code Online (Sandbox Code Playgroud)