Team Gryffindor
Error creating thumbnail: File missing | |||||
Gryffindor Team Logo | |||||
---|---|---|---|---|---|
|
Connecting to the Convey HC-1 Machine
- Download and install NX Client.
- Connect to convey-1.ece.iastate.edu using your ISU NetID and the password yournetid@123.
- 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:
- Setup your Convey environmental variables (Jone's Script)
- 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.
- /opt/convey/doc/ConveyReferenceManual.pdf
- Convey Reference Manual (.pdf)
- Chapters 1 and 2: Basic Overview
- Chapter 11: Details on personality structure.
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