有没有人知道POSIX shell的实现,就像用Java编写脚本的语言一样?
如果没有这个,有没有人知道我可能错过了某个地方是否有ANTLR或JavaCC语法?
编辑: 我知道我有Jython,JRuby,Groovy,JavaScript可用于编写脚本,但它们都没有类似bash的语法.
这不会用于将Java代码编写在一起,而是允许人们运行预定义的命令,这些命令可以通过大型第三方媒体资产管理系统进行操作.
我想运行如下:
ls | grep "something" > output
Run Code Online (Sandbox Code Playgroud)
其中ls和grep是Java命令.(这仅用于说明目的)
谢谢
是否可以从Linux内核模块运行CUDA或OpenCL应用程序?我找到了一个提供此功能的项目,但它需要一个用户空间助手才能运行CUDA程序.(https://code.google.com/p/kgpu/)
虽然这个项目已经避免了用户和内核空间之间的冗余内存复制,但我想知道是否可以完全避免用户空间?
编辑: 让我扩展我的问题.我知道内核组件只能调用内核和其他内核组件提供的API.所以我不打算直接调用OpenCL或CUDA API.CUDA或OpenCL API最终必须调用图形驱动程序以使其发生魔力.很可能这个界面完全不标准,随着每个版本的变化等等......
但是假设您有一个要运行的已编译的OpenCL或CUDA内核.OpenCL/CUDA用户空间库在实际运行内核之前是否做了一些繁重的工作,或者它们只是驱动程序接口周围的轻量级包装器?
我也知道用户空间助手可能是这样做的最佳选择,因为直接调用驱动程序很可能会被新的驱动程序版本破坏...
使用Visual Studio时会生成以下机器代码_InterlockedIncrement:
; 40 : _InterlockedIncrement(&framecounter);
00078 b8 00 00 00 00 mov eax, OFFSET ?framecounter@@3JA ; framecounter
0007d b9 01 00 00 00 mov ecx, 1
00082 f0 0f c1 08 lock xadd DWORD PTR [eax], ecx
Run Code Online (Sandbox Code Playgroud)
如果我要写这个,我会用lock inc DWORD PTR [eax]而不是mov和xadd
是否有正当理由支持Microsoft xadd并使用2条指令代替1条指令?
assembly ×1
bash ×1
cuda ×1
gpgpu ×1
grammar ×1
intrinsics ×1
java ×1
linux-kernel ×1
opencl ×1
x86 ×1