代做COMP9414 Artificial Intelligence Assignment 1代做留学生R程序

COMP9414 Artificial Intelligence Assignment 1

  1. Project Goal

The course projects in this class serve to explore the microarchitectural design space of uniprocessor design parameters. This project will help you to

  1. a) learn to read the provided framework code
  2. b) see how a simple cache simulation model can be developed
  3. c) once fully functional, explore the marginal benefits of different cache hierarchies to help develop the future project
  1. Instructions

1) Copy the tarball to a CSE machine and extract it into a local directory of your choosing.

You should use CSE Linux Lab machines (i.e. e5-cse-135-01.cse.psu.edu through e5-cse-135-40.cse.psu.edu). To connect to these machines remotely, you should install a VPN on your computer and then use ssh to connect to one of the machines. For more details, please refer to the CSE Student Lab access information: https://www.eecs.psu.edu/cse-student-lab-access/index.aspx.

This project simulates putting the memory references and values generated through naive ( O(N3 ) ) matrix multiplication of square matrices of size N through a parameterized cache hierarchy, that is, a specific cache will be generated respectively by the arguments in each test case in Makefile. The arguments represent as below:

1st, the size of the simulated matrix

2nd, the number of matrix multiplications to perform

3rd, the name of the cache level (for example, the second-level L2)

4th, the size of this level

5th, the associativity of this level

6th, the block size of this level

7th and the subsequent, the first-level L1 cache, and its arguments.

If you implement it correctly, your logic would work for all these test cases. Most of the functionality for this program has already been provided. However, five key functions needed to properly perform. caching (setSizesOffsetsAndMaskFields, getindex, gettag, writeback, fill) are currently implemented as stub functions that either does nothing, causing the program to crash if they are relied upon. Your job will be to implement these missing functionalities within the functions defined in “YOURCODEHERE.c”, and descriptions of the functionality of each function are in YOURCODEHERE.h.

You will need to read through the provided framework to figure out how to properly use the “performaccess function to set local contents based on another level’s data (fill) and to write data from the local contents into the next level of the memory hierarchy (writeback).

You will need to familiarize yourself with the existing functions defined in csim.c, specifically “performaccess”, and the cache structure defined in csim.h, although you are not allowed to modify them. You are likewise not allowed to modify anything other than implementing the missing functionalities within the functions defined in “YOURCODEHERE.c”. You will invoke “performaccess” in your logistic, the input argument “size” could be fixed as 8.

Your project, once complete, will be able to correctly execute all tests invoked by “make test” as well as other cache and matrix configurations not present in the test list. The test list was already included in the Makefile. Only cache hierarchies with monotonically nondecreasing block sizes (in integer multiples of 8 bytes) throughout the cache hierarchy will be tested.

Similarly, only cache hierarchies with monotonically nondecreasing capacity from upper to lower caches will be tested.

2) Ensure that your environment is correctly configured (e.g. with default gcc, etc.) by running “make test”. You can verify the correct initial state of your environment/files by noting the following:

a) the code should compile without any errors or warnings.

b) the first test case (no cache instantiated) should run to completion and match the output in the included copy of the output from running “make test” on a completed version of the program

c) the second test case should quickly generate a “Segmentation fault” due to the unimplemented stub functions

3) Modify YOURCODEHERE.c — this is the only file you will be modifying and turning in.

Your project MUST compile without modification to the Makefile, or any other source files.

Your code will be recompiled against the other files in their original state, on CSE servers.

Any reliance on additional modifications will likely result in non-compiling status under test and a zero for the project. Please note that the CSE lab machines are 64-bits (represented as localVAbits variable), so 1 word = 8 bytes. You will reflect this in your implementation.

Please ensure that any code you develop on a non-CSE platform. works on the CSE servers, as the code is NOT GENERALLY PORTABLE.

4) Continue to test your project. All tests in “make test” should run to completion (expected total run time 1-2 minutes, mostly in the last test). Statistics from your output file (NMM-csim.testout) for matrix sizes <= N=8 should match the provided output statistics(NMM-csim.WORKING.testout) exactly. Statistics for larger matrix sizes should be very similar but the output may or may not be identical.

  1. Your Submission

You will turn in only the “YOURCODEHERE.c” file via CANVAS. Your results will be tested on CSE lab machines. In addition to your code fixes, provide, as a multi-line comment in YOURCODEHERE.c, a description of your testing approach to check whether or not your output is correct, given that the contents of invalid memory locations within the cache will contain arbitrary data that may not match between different runs.





热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图