CUDA: documentation of kernel CRT? [closed] - documentation

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm trying to find the documentation for all of the functions available for the CUDA kernels.
The CUDA Reference manual seem to include only the host functions and the CUDA programming guide only includes some details such as the accuracy of these functions but not their documentation.
Am I missing something or does this piece of documentation simply doesn't exist?

Appendices B and C of the CUDA Programming Guide contain documentation for functions that can be executed within kernels. Mostly they are for things like texture fetches, atomic instructions, warp voting, synchronization, and C standard library mathematical operations.
The documentation is very sparse because the meaning of these functions is described elsewhere, in the C standard library documentation. Some of these functions are quite esoteric. The meaning of others can be guessed at from the name. For the ones that you do not recognize, you can google for the man page with a query such as "site:opengroup.org nextafter". If you are on a *nix machine and have the C library documentation installed, typing man nextafter will also work.

Related

Automatic documentation of Fortran functions, modules and subroutines [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Is there anything like Javadoc for documenting Fortran code? How does one document the API for the many functions they have so that they can find what they want more easily?
Not "standard", but I've used a program called "robodoc" that is able to work with Fortran.
Nowadays I believe Doxygen supports Fortran as well, which IMHO is a better tool than robodoc.
As janneb mentioned "robodoc" is clean, easy and hence useful. But you it will not analyze your program and you have to do everything yourself. On the other hand, Doxygen have incorporated the modern Fortran features(derived data types, type bound procedures, ... ) and just like C++ you can get an analysis of your program along with graphs etc.

Lisp on embedded platforms [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
Are there any open source Lisp compilers suitable for real-time embedded applications? I.e. with incremental garbage collection, customisable memory handling, small footprint, etc.
Edit:
To clarify, by "compiler" I meant native code, not bytecode interpreter (though the suggested interpreting implementations for microcontrollers are interesting for being a lot smaller than what I thought possible!).
Take a look at Picobit and the code, which is a Scheme for microcontrollers. There is also tinyscheme, but I don't know how suitable it is for embedding into smaller processors.
There are some implementations that compile to C code, e.g. ECL (Embeddable Common Lisp). There is also a very recent library that compiles a subset of Common Lisp to a subset of C++ for the Arduino.
You mentioned "real-time" so nonchalantly, but getting real-time with garbage collection is not trivial. There do exist real-time garbage collectors, but I am not aware of any Lisp implementations using them yet.
There is also Hedgehog Lisp from Oliotalo, licensed under LGPLv2.1, with standard library licensed under BSD.

LLVM compiler infrastructure for VLIW architectures [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
Do you know how strong VLIW architectures (or EPIC, like Itanium) support exists in LLVM compiler infrastructure?
Are there good documents/slides materials on this?
There is no good VLIW support in the base LLVM at the moment. / 2010-11
Some useful posts:
http://old.nabble.com/VLIW-Scheduling-td857833.html
http://old.nabble.com/vliw-compatability-td27935919.html
UPDATE / 2012-01
LLVM added (seems after 3.0 release; by Anshuman Dasgupta) initial support of an "VLIW packetizer" aka DFApacketizer to target-independent codegenerator support infrastructure:
http://llvm.org/docs/CodeGenerator.html#vliw_packetizer
To generate tables for a VLIW target, add TargetGenDFAPacketizer.inc as a target to the Makefile in the target directory. The exported API provides three functions:
DFAPacketizer::clearResources(),
DFAPacketizer::reserveResources(MachineInstr *MI), and
DFAPacketizer::canReserveResources(MachineInstr *MI).
These functions allow a target packetizer to add an instruction to an existing packet and to check whether an instruction can be added to a packet. See llvm/CodeGen/DFAPacketizer.h for more information.
Machine Instruction Bundle in LLVM thread by Evan Cheng in mailing list com.googlegroups.llvm-dev from dec 2 2011, describing basic LLVM VLIW (Bundle) support. They are planned to be in LLVM 3.1, and are documented here.
Also, in 3.1 "new TableGen infrastructure to support bundling for Very Long Instruction Word (VLIW) architectures." is added.
There are some VLIW compilers based on LLVM today; but target-independent (generic) VLIW support is in the very beginning of its long path.
UPDATE 2012/12
There are some slides from Quic: http://llvm.org/devmtg/2012-11/Larin-Trick-Scheduling.pdf

Favorite Documentation Generator system? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm a jack-of-all-trades-master-of-none programmer and as I jump around languages, quality consistent documentation is becoming more and more important to me. I've recently been using Doxygen, but Wikipedia reveals the usual ridiculous list of similar frameworks.
What is your favorite documentation generator and why? (Vote where you agree to keep it tidy!)
I use different files written in MediaWiki MarkUp, since this is easy to learn for everyone. I convert this to HTML and a CHM file, and to LaTeX for the PDF documentation.
This was the most painless way for me to generate Online documentation AND printable documentation in one strike with a simple way of input.
The tools I use are org.eclipse.mylyn.wikitext with a custom DocumentBuilder for LaTeX, the Microsoft Help compiler (which sadly only runs on windows), and a LaTeX distribution.
EDIT: I managed to get the Microsoft Help compiler running with Wine, so my Linux build server is now able to create the whole documentation automatically.

Lua's bytecode specification [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Can anyone tell me where to find Lua's bytecode specification? I've been searching for 15 minutes, and I can't find anything.
The official definition is in lopcodes.h.
Maybe A No-Frills Introduction to Lua 5.1 VM Instructions contains what you're looking for?
There is also a table of the Lua 5.0 instruction set (Figure 5) in:
Ierusalimschy, R.; Figueiredo, L. H.; Celes, W. (2005), "The implementation of Lua 5.0", J. of Universal Comp. Sci. 11 (7): 1159-1176
You can find the full text with a search on Google Scholar and I believe it's on lua.org as well. This reference is used by the Lua page on Wikipedia, which is always a good place to look for such things. :-)
The only specifications for Lua are the language, standard libraries, and the C API. The creators of Lua intentionally left the VM unspecified for a couple main reasons:
Lua can be fully implemented with any underlying architecture (VM, interpreter, compiler, etc.)
The official Lua distribution doesn't have to worry about maintaining VM compatibility between versions
This means, for example, that you generally shouldn't use the Lua VM as a target for a compiler. If you'd like to know how the official Lua distribution's VM works as an example for your own curiosity, see the other answers.
You can read The Implementation of Lua 5.0 online.