Wednesday, January 25, 2012

AR(1)

AR(1) Time series process:
http://www.math.utah.edu/~zhorvath/ar1.pdf

Auto regressive analysis  (code)
http://paulbourke.net/miscellaneous/ar/

How to generate AR(1) data
https://mailman.cae.wisc.edu/pipermail/help-octave/2003-July/010288.html

CMU AR(1) document
http://bertha.tepper.cmu.edu/telmerc/phd_07/Pages%20from%20mscf_notes_main-2.pdf

AT&T assembly homework

How to write assembly under Linux.

http://asm.sourceforge.net/intro/

-- nasm

foo : no name, fill with your own name here.

GCC inline asm:
http://ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
for homework 1
http://cs.njit.edu/~sohna/cs680/hw1.html

Introduction to UNIX assembly programming
http://asm.sourceforge.net/intro/hello.html

lea (AT&T assembly)
Load-effective-address

Intel Pentium Instruction Set Reference (Basic Architecture Overview)
http://faydoc.tripod.com/cpu/

Trick:
Using lea instruction to compute certain products.
The trick is to use the scaled index addressing modes.
http://webster.cs.ucr.edu/AoA/Windows/HTML/IntegerArithmetic3.html
What is scaled index addressing modes.
Addressing modes:
http://en.wikipedia.org/wiki/Addressing_mode
scaled addressing modes:
http://en.wikipedia.org/wiki/Addressing_mode#Scaled

Monday, January 23, 2012

Learning through reading Common.mk (CUDA)

# Compilers
CXX        := g++ -fPIC

http://www.fpx.de/fp/Software/tcl-c++/tcl-c++.html
Shared Library may be mapped into memory at different locations each time it is loaded, addresses within the library would be variable, therefore, all addresses inside the library are stored zero-based, relative to the beginning of the library. A register is then set aside to contain that address, so that all references in the library can be easily computed at runtime.

To compile a file for position-independence, you have to add custom switches to the compiler's command line. For example, gcc/egcs uses the `-fPIC switch.

g++?
http://forums.macrumors.com/showthread.php?t=132393

http://stackoverflow.com/questions/172587/what-is-the-difference-between-g-and-gcc


Sunday, January 15, 2012

Page locked memory allocation

To quantify the communication bandwidth difference on your system between paged-locked and non-page-locked memory, one can run the bandwidthTest program that comes with the CUDA sdk.