Team Gryffindor: Difference between revisions

From Cpre584
Jump to navigation Jump to search
Mihir (talk | contribs)
No edit summary
Line 102: Line 102:


[[Image:Assignment1.simulator2.PNG]]
[[Image:Assignment1.simulator2.PNG]]
=== Running in the Fabric ===
To run the sample application on the Coprocessor fabric, yoyu'll need to set CNY_SIM_THREAD environment variable to 0.
You will notice that the application runs faster when using the fabric as compared to the simulator.
The behavior of the coprocessor can be controlled by setting various environment variables. Typically used environment variables are defined in Section 8.2 of ConveyProgrammersGuide. A complete list can be found in section 12.
Following is the output when sample application was run on the fabric with CNY_CALL_STATS set. Setting this variable gives back the number of times the coprocessor was calles. For this application, once.
Warning: CNY_SIM_THREAD has the value: 0
which does not match known choices: cpSimLib2.so or libcpSimLib2.so
Getting signature
Running Sample Program 1
a1[0]=0 + a2[0]=0 = a3[0]=0
a1[1]=1 + a2[1]=2 = a3[1]=3
a1[2]=2 + a2[2]=4 = a3[2]=6
a1[3]=3 + a2[3]=6 = a3[3]=9
a1[4]=4 + a2[4]=8 = a3[4]=12
a1[5]=5 + a2[5]=10 = a3[5]=15
a1[6]=6 + a2[6]=12 = a3[6]=18
a1[7]=7 + a2[7]=14 = a3[7]=21
a1[8]=8 + a2[8]=16 = a3[8]=24
a1[9]=9 + a2[9]=18 = a3[9]=27
a1[10]=10 + a2[10]=20 = a3[10]=30
a1[11]=11 + a2[11]=22 = a3[11]=33
a1[12]=12 + a2[12]=24 = a3[12]=36
:.. and finishing the program
a1[92]=92 + a2[92]=184 = a3[92]=276
a1[93]=93 + a2[93]=186 = a3[93]=279
a1[94]=94 + a2[94]=188 = a3[94]=282
a1[95]=95 + a2[95]=190 = a3[95]=285
a1[96]=96 + a2[96]=192 = a3[96]=288
a1[97]=97 + a2[97]=194 = a3[97]=291
a1[98]=98 + a2[98]=196 = a3[98]=294
a1[99]=99 + a2[99]=198 = a3[99]=297
Sample 1 test passed - sum=14850
coprocessor calls: 1
Experimenting with other environment variables : TO DO

Revision as of 01:39, 31 January 2012

Team Gryffindor
Error creating thumbnail: File missing
Gryffindor Team Logo
Team Members
Chad Nelson - cnel711
Mihir Awatramani - mihir
Mengduo Ma - marinama
Kuan-Hsing Ho - pm429015

Connecting to the Convey HC-1 Machine

  1. Download and install NX Client.
  2. Connect to convey-1.ece.iastate.edu using your ISU NetID and the password yournetid@123.
  3. Change your password by opening a terminal window and running the passwd command.

You can access the shared /home/cpre584_t2 folder by using the su cpre584_t2 command and entering our team password.
Alternatively, you can access the two files Jone's created for us on the shared folders here on the wiki:

  1. Setup your Convey environmental variables (Jone's Script)
  2. Here's a copy of the Xilinx 11.1 src file:

source /remote/Xilinx/11.1/settings64.sh
export PATH=$PATH:/remote/Modelsim/6.4b/modeltech/linux_x86_64/
export LM_LICENSE_FILE=1717@io.ece.iastate.edu:27006@io.ece.iastate.edu

Assignment #1

Review Convey System

  • Minimum
    • Review architecture documentation
    • Understand how Vector Adder example works
    • Implement Vector Adder example (SW, Modelsim, HW)
  • Extra 1: Own simple personality (min: simple mod to Adder)
  • Extra 2: Explore other features
    • e.g: using gdb (Gnu Debugger)
    • e.g: SPAT (Simulator Performance Analysis Tool)

Jone's E-mail

Once you log into the convey machine a few documents you will want to start looking through are bellow. Note, there is a lot of detail to learn about the Convey system. I would first suggest browsing through the document below to get a feel for the type of information they contain. I’ve try to highlight some of the sections that will be useful to you and you are getting up to speed with the example application.

  • /opt/convey/pdk/2010_08_09/doc/ConveyPDKReferenceManual.pdf
    • Convey PDK Reference Manual (.pdf)
    • This document gives information about how to go about developing your own HW/SW designs on the convey system.
    • Start with section 10.5 to quickly start playing with the system. Then use the rest of Section 10 to help you understand the example C code.
    • You will need to read through of other sections of this document to understand how the overall system works.
  • /opt/convey/doc/ConveyProgrammersGuide.pdf
    • Convey Programmers Guide (.pdf)
    • Sections 8.1 and 8.2 gives more details on how to run an application (in SW, Simulation, or Hardware)
    • Section 10.2, give more details on the assembly portions of the sample application from the PDK manual.
    • Chapter 1 and 2 give overview info
    • Chapter 12 talks about Environmental flags
    • Chapter 14 talks about the Personality naming conventions.

Running the Sample Program

Section 10.5 of PDK Reference Manual explains how to run the sample software application. It has been reproduced below in brief.

The rev version installed on the Convey machine is from 2010-8-9; to copy the sample app run:

cd ~
mkdir pdk_sample
cp -r /opt/convey/pdk/2010_08_09/cae_pers_vadd pdk_sample
cp -r /opt/convey/pdk/2010_08_09/pdk_apps/SampleAppVadd pdk_sample

To make the sample project.

cd ~/pdk_sample/cae_pers_vadd/CaeSimPers/
make
cd ~/pdk_sample/SampleAppVadd/
make

You'll want to make sure that you haven't set your environmental variables. You can do this by simply using a new terminal window. To run the software version of the app:

cd ~/pdk_sample/SampleAppVadd/
./UserApp.exe

You should see the program run and output the following:

Running in the Simulator

To run the sample application on the Coprocessor simulator, you'll need to set some environmental variables:

# Use the Coprocessor Simulator
export CNY_SIM_THREAD=libcpSimLib2.so
# Point to the emulator
export CNY_CAE_EMULATOR=~/pdk_sample/cae_pers_vadd/CaeSimPers/CaeSimPers

After setting the environmental variables, rerun the app:

cd ~/pdk_sample/SampleAppVadd/
./UserApp.exe

The program will pause at the following screen for a 10-20 seconds...

...and then finish running the program.

Running in the Fabric

To run the sample application on the Coprocessor fabric, yoyu'll need to set CNY_SIM_THREAD environment variable to 0.

You will notice that the application runs faster when using the fabric as compared to the simulator.

The behavior of the coprocessor can be controlled by setting various environment variables. Typically used environment variables are defined in Section 8.2 of ConveyProgrammersGuide. A complete list can be found in section 12.

Following is the output when sample application was run on the fabric with CNY_CALL_STATS set. Setting this variable gives back the number of times the coprocessor was calles. For this application, once.

Warning: CNY_SIM_THREAD has the value: 0 which does not match known choices: cpSimLib2.so or libcpSimLib2.so Getting signature Running Sample Program 1 a1[0]=0 + a2[0]=0 = a3[0]=0 a1[1]=1 + a2[1]=2 = a3[1]=3 a1[2]=2 + a2[2]=4 = a3[2]=6 a1[3]=3 + a2[3]=6 = a3[3]=9 a1[4]=4 + a2[4]=8 = a3[4]=12 a1[5]=5 + a2[5]=10 = a3[5]=15 a1[6]=6 + a2[6]=12 = a3[6]=18 a1[7]=7 + a2[7]=14 = a3[7]=21 a1[8]=8 + a2[8]=16 = a3[8]=24 a1[9]=9 + a2[9]=18 = a3[9]=27 a1[10]=10 + a2[10]=20 = a3[10]=30 a1[11]=11 + a2[11]=22 = a3[11]=33 a1[12]=12 + a2[12]=24 = a3[12]=36

.. and finishing the program

a1[92]=92 + a2[92]=184 = a3[92]=276 a1[93]=93 + a2[93]=186 = a3[93]=279 a1[94]=94 + a2[94]=188 = a3[94]=282 a1[95]=95 + a2[95]=190 = a3[95]=285 a1[96]=96 + a2[96]=192 = a3[96]=288 a1[97]=97 + a2[97]=194 = a3[97]=291 a1[98]=98 + a2[98]=196 = a3[98]=294 a1[99]=99 + a2[99]=198 = a3[99]=297 Sample 1 test passed - sum=14850 coprocessor calls: 1

Experimenting with other environment variables : TO DO