Module | Size | Used by |
p7300b | 35633 | 0 (unused) |
adl_mem_mgr | 2632 | 2 [p7300b] |
If drivers aren't loaded, you need to change to superuser, and run dask_inst_SMP.pl (in /raid1/bjoshi/testsamp)
Syntax: | ./tnudaqmdrate32lw <No. of buffers> <Sample period> |
---|---|
Example: | ./tnudaqmdrate32lw 1000 0.0000002 |
Function: | Initialsie the acquisition board, and node, then acquire data for set
number of buffers, test expected pattern generated in test mode.
Test mode on the interface board produces two 16-bit words, a fast one incrementing at the sample rate, and a slow one which is clocked on the 13th bit of the fast counter. The program mimics these count words and compares the actual received count with the expected count. Any discrepancy is flagged on the screen as a data slip. |
The following command starts a background process required before data can be sent between nodes.
Syntax: | ./cobra_acquisition 10 <log file> & |
---|---|
Example: | ./cobra_acquisition 10 cobra_acq.log & |
Function: | Starts a background process which initialises the acquisition board,
and starts data transfer to the PCI bus.
It must be started in the acquisition node, and it requires root permission. The & gives the terminal back as soon as the process is started. Note: To stop this process one needs to command thus: touch stop_acq ...and then remove a stop file using this command: rm stop_acq |
The following command will transfer a block of data over the high-speed interconnect from the acquisition node to a store node.
Syntax: | mpimon acq_rec_data_mpi <No. of buffers> <filename> <s logfile> <c logfile> -- node<sending node ref.> node<receiving node ref.> 1 |
---|---|
Example: | mpimon acq_rec_data_mpi 1000 /scratch/COBRA/test.dat s.log c.log -- node1-4 node2-1 1 |
Function: | Transfers a block of data from acquisition node to a storage node.
Note: It is best to use the local scratch area on the receiving node to store this data. The latencies involved in sending over ethernet are too great for the high speed of acquisition. |
Syntax: | od -xv --address-radix=d filename |grep 'ffff ffff' |
---|---|
Function: | This output dump allows us to examine occurance of the eight marker bytes which occur every 1PPS |
Syntax: | test_edt_maxdatarate <nbuf> <tsamp (sec)> |
---|---|
Example: | ./test_edt_maxdatarate 10 1 |
Function: | This program sets up, initialises an EDT card and starts continuous data acquisition from a PCI EDT card. The data is written to a ring buffer using DMA. The data is then compared with an expected count to check if the acquisition is taking place correctly. If a byte is missed, it is signalled by the program. If 1 in 10000 byte is missed, the program exits. This program can be used to test the efficacy of EDT card and is used with a counter test rig connected to EDT. |
Syntax: | ./cobra_acquisition_edt
./cobra_server <sample rate (MHz)> or ./cobra_server2disk <sample rate (MHz)> ./cleanup |
---|---|
Example: | ./cobra_acquisition_edt (on node1-3)
mpimon ./cobra_server 20 -- node1-3 1 node1-2 2 node1-3 2 mpimon ./cobra_server2disk 20 -- node1-3 node1-2 ./cleanup |
Function: | cobra_acquisition_edt, (source code cobra_acquisition_both.c): This
program sets up, initialises an EDT or ADLINK card (depending on whether
ADLINK or EDT is defined on compilation and triggers continuous data acquisition
from this PCI card. The data is written to a ring buffer using DMA. The
data is then transfered to a shared memory which also acts like an intermediate
ring buffer. Another segment of shared memory holds the ring buffer status
flags and current buffer numbers. A third piece of memory is used for start/stop
messages and acquisition programs status. User programs can attach these
shared memory segments to read the data.
cobra_server: this program communicates with the COBRA_ACQUISITION program, sends the go, reads in the shared memory buffers, checks them and sends them to receiver processes . cobra_server2disk: this program communicates with the COBRA_ACQUISITION program, sends the go, reads in the shared memory buffers, checks them and sends them to a receiver process which stash in a disk file on /scratch/COBRA With a single receiver this will run at .2usec sampling, for no more than 30 secs! cleanup: this utility removes all shared memory areas and semaphores created under the current login name on the current node. |
The same directory ( /raid1/online/test/testsamp_edt ) contains an equivalent program for the ADLINk board (note the acquisition program needs to be run as su, and you'll probably need to make sure the LD_LIBRARY_PATH is correctly set by typing tcsh, then setenv LD_LIBRARY_PATH `cat ldpath`.)
Syntax: | ./cobra_acquisition_adlink
./cobra_server <sample rate (MHz)> or ./cobra_server2disk <sample rate (MHz)> ./cleanup |
---|---|
Example: | ./cobra_acquisition_adlink (on node1-5)
(as su)
mpimon ./cobra_server 20 -- node1-5 1 node1-2 2 node1-3 2 mpimon ./cobra_server2disk 20 -- node1-5 1 node1-2 ./cleanup |
Function: | cobra_acquisition_adl, (source code cobra_acquisition_both.c): This
program sets up, initialises an EDT or ADLINK card (depending on whether
ADLINK or EDT is defined on compilation and triggers continuous data acquisition
from this PCI card. The data is written to a ring buffer using DMA. The
data is then transfered to a shared memory which also acts like an intermediate
ring buffer. Another segment of shared memory holds the ring buffer status
flags and current buffer numbers. A third piece of memory is used for start/stop
messages and acquisition programs status. User programs can attach these
shared memory segments to read the data.
cobra_server: this program communicates with the COBRA_ACQUISITION program, sends the go, reads in the shared memory buffers, checks them and sends them to receiver processes . cobra_server2disk: this program communicates with the COBRA_ACQUISITION program, sends the go, reads in the shared memory buffers, checks them and sends them to a receiver process which stashes the data in a disk file on /scratch/COBRA With a single receiver this will run at .2usec sampling, for no more than 30 secs! cleanup: this utility removes all shared memory areas and semaphores created under the current login name on the current node. |