{"push_id":691869628,"size":133,"distinct_size":72,"ref":"refs/heads/rebase-test","head":"96cfeecd3b22308f41de31d93ca25ffc481e208e","before":"b52109fa1724836e5676b1f6ed43a09d6774675a","commits":[{"sha":"e3311254004533e41ebd5d82a010ae4c1e285d9f","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Stored loopBound globally instead of reading from loop_bound file.\n\nFinished the loopUnrolling unit test using triad-128\n\nAdded doesEdgeExist() and doesEdgeExistVertex()\n\nAdded a test case for loop pipelining\n\nAdded a unit test for treeHeightReduction using reduction-128 as the test input.\n\nAdded shortestDistanceBetweenNodes() in BaseDatapath() for treeHeightReduction\ntesting.\n\nChange-Id: I16743dc0af6129d2034e5367d47f476eebca9d94","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/e3311254004533e41ebd5d82a010ae4c1e285d9f"},{"sha":"3f44c774d552fcd382dc4235d5b31e5a29f70d3c","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Split test_graph_trans.cpp into smaller files, each of which tests one graph\ntransformation. Different scenarios in each test are for different benchmarks.\n\nAdded a unit test for loopPipelining w/ reduction.\nAdded unit tests for removeInductionDependence() and removePhiNodes() w/ pp_scan.\nAdded a unit test for initBaseAddress() with pp_scan.\nAdded a unit test for loopFlatten() w/ pp_scan.\nAdded a unit test for loopUnrolling() w/ pp_scan.\nAdded a unit test for storeBuffer() w/ pp_scan.\n\nChange-Id: Ib708e23e4c80cb7729474c1e1fc5a8f43dc6df53","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/3f44c774d552fcd382dc4235d5b31e5a29f70d3c"},{"sha":"209cc0d5d5670eabb7af09f139dc002962f1138a","author":{"email":"f7bcc33b31c6eea7397ee057ae8d90c0ac04b491@seas.harvard.edu","name":"Sam Xi"},"message":"Integrated GEM5 changes into Aladdin.\n\nThis change merges all of Sophia's past changes from the gem5-aladdin branch\ninto the main Aladdin repository and brings some of the older changes in sync\nwith the newer changes to Aladdin.\n\nNew directory structure:\n  * General Aladdin components now belong inside common/\n  * Simulator specific modifications belong inside a separate folder.\n\nOriginal Makefile moved to common/. SConscripts are GEM5 specific and are in\ngem5/.\n\nGEM5 and Aladdin both build successfully with this merge and pass (one) test!\n\nChange-Id: Iff2b4cac63b96ba29b0ada6ad4aaf6331190afab","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/209cc0d5d5670eabb7af09f139dc002962f1138a"},{"sha":"95a787802b61c692084c0e7701aaafb54f2f946e","author":{"email":"f7bcc33b31c6eea7397ee057ae8d90c0ac04b491@seas.harvard.edu","name":"Sam Xi"},"message":"Makefile now has a test target that will build and run all unit tests. Unit\ntests now will link against a static library rather than the individual object\nfiles.\n\nChange-Id: I07d01a8f22f795ad5513eb4f3967b9df1b9fdf91","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/95a787802b61c692084c0e7701aaafb54f2f946e"},{"sha":"62e18c686545f9a960b512b97fafec58d17b0ee4","author":{"email":"f7bcc33b31c6eea7397ee057ae8d90c0ac04b491@seas.harvard.edu","name":"Sam Xi"},"message":"Notify GEM5 when an accelerator finishes, so that when all accelerators finish,\nthe simulation will end.\n\nBUG=ALADDIN-6\n\nChange-Id: I170426f0f6b50ac49f6720dbfb1cb9c070e84c09","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/62e18c686545f9a960b512b97fafec58d17b0ee4"},{"sha":"1e892683b507ec69774677042e27b0fd1624f010","author":{"email":"f7bcc33b31c6eea7397ee057ae8d90c0ac04b491@seas.harvard.edu","name":"Sam Xi"},"message":"Support for an accelerator with a private scratchpad with DMA.\n\nA few things have not been implemented yet:\n* opcode_func.cpp: is_dma_op() currently returns false until we finalize the DMA\n  interface.\n* Tracer support for issuing DMA read and write commands.\n\nBUG=ALADDIN-7\n\nChange-Id: I65a540bd855ae34c59605591300811a458b9b96e","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/1e892683b507ec69774677042e27b0fd1624f010"},{"sha":"c4a8e79491ebfdc13cf84da8ed3acee5c7fda3a8","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Added dmaLoad and dmaStore as LLVM opcodes, requires updates from LLVM-Tracer.\nProgrammers are responsible to tile the application appropriately and inserting\ndmaLoad and dmaStore functions to represent dma processing.\n\nUpdated DDDG to handle dmaLoad and dmaStore. We treat these two operations as\ntwo special LLVM opcodes.\n\nGot dma_device work with DmaScratchpadDatapath for timing simulation.\n\nAdded triad-dma-trace and config files for dma testing.\n\nBUG=ALADDIN-7\n\nChange-Id: I5cfb87f945a0640c600c41c4b62d2c7087a0be40","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/c4a8e79491ebfdc13cf84da8ed3acee5c7fda3a8"},{"sha":"338aa0abd70620f8f70dd9c6c4a932511de470d8","author":{"email":"f7bcc33b31c6eea7397ee057ae8d90c0ac04b491@seas.harvard.edu","name":"Sam Xi"},"message":"Code cleanup.\n\nRemoved dead or commented out code, trailing whitespace, and fixed some\negregiously long lines.\n\nChange-Id: I06bf3c0edf03796b8a1431024d288f9b693767f7","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/338aa0abd70620f8f70dd9c6c4a932511de470d8"},{"sha":"88208731c1cdab48fa25d4cd734584d9d7edf9ea","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Added dma_interface.h for dmaLoad and dmaStore functions.\n\nModified common/Makefile to match libaladdin.a in unit-test/Makefile\n\nChanged updateGraphWithIsolatedEdges from std::vector to std::set. The reason\nfor that is because it is possible that two edges are added to the\nto_remove_edges.\n\nChange-Id: I62917060e3937c8dbe5efc43efd7164a4b14462f","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/88208731c1cdab48fa25d4cd734584d9d7edf9ea"},{"sha":"30eda423b1866ce628afc6e1e332cc14bb653c34","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Enforced strict dependences for DMA operations: there is only one active DMA\noperation at any time; before the active DMA operation returns, no new DMA\nrequests can be issued; at the same time, no overlapping between DMA operations\nand other compute operations in the datapath (datapath is idle while waiting for\nDMA.)\n\nChange-Id: I04e58cd78fda7d5665097e224d78625028ee29b4","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/30eda423b1866ce628afc6e1e332cc14bb653c34"},{"sha":"9f20271ba814df6b7f97d8bcfb927d77bea81f01","author":{"email":"f7bcc33b31c6eea7397ee057ae8d90c0ac04b491@seas.harvard.edu","name":"Sam Xi"},"message":"Added constraints on the bandwidth of the caches.\n\nOnly a certain number of loads, stores, and TLB translations can take place per\ncycle.  For TLB misses, same page requests are collapsed into a single miss\nentry, but that doesn't count against the number of total issues per cycle. We\nmay need to change this in the future. Dcache misses follow the same pattern -\nsame cacheline misses are merged into a single MSHR.\n\nLots of debugging printouts have been added.\n\nBUG=ALADDIN-13\n\nChange-Id: I835e0116521b4426a5445d2a3e6eeebc2f27b592","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/9f20271ba814df6b7f97d8bcfb927d77bea81f01"},{"sha":"599715123a5b55d0bb4d226bed8e581799d7e820","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Added cacti-p for more accurate scratchpad memory power/area calculation.\nIntegrated cacti with Aladdin to calculate SRAM power/area directly.\n\nCalibrated CACTI leakage power calculation to fit on SRAM/register file compiler\ndata.\n\nChanged the read/write power calculation in the memory interface to energy\ncalculation. Keep leakage power calculation the same.\n\nCurrently Aladdin runs at 167MHz where SRAM has a lot of slacks. Should\nuse/provide 1GHz FU models future studies.\n\nChange-Id: I0b51d0f40ea1b32abf0f52576062ee72eb895bc9","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/599715123a5b55d0bb4d226bed8e581799d7e820"},{"sha":"6f6c9d14b8141a6f1f5be6aca353c48106ebf6bf","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Compiled gem5-aladdin with cacti integration.\n\nDo not treat dmaLoad/Store as function calls any more to relax the strict\ndependences on only one DMA operation active at a given time. Programmers are\nresponsible to guarantee that the data is already pre-loaded when accelerator\ncomputation starts.\n\nChange-Id: Id8b1ee6ff6e749e3378779143306780224371ada","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/6f6c9d14b8141a6f1f5be6aca353c48106ebf6bf"},{"sha":"a0bb4e42a1b1c8861fb490809ff9712da6a32bb9","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Updated power models with 1GHz characterization. Thanks Brandon!\nNotice that this power model uses TSMC 40g (We use FreePDK for Aladdin release.)\n\nChange-Id: I9f33fc124ac1f517b623e5984939392b975301c9","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/a0bb4e42a1b1c8861fb490809ff9712da6a32bb9"},{"sha":"e2ce85f5323e427c186d3e3923cc7184b391614b","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Updated the way number of functional units is modeled to account for leakage\npower of functional units. Instead of calculating max number of functional units\nper cycle for each function, we count the number of functional units existed in\neach unrolled region (similar to the layout of the static graph w/ unrolling).\nFor each cycle, if a functional unit is not active, it only burns leakage power,\nnot dynamic (switching + internal).\n\nChange-Id: I3644f715b7618dac31b753793a98920a30c9c080","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/e2ce85f5323e427c186d3e3923cc7184b391614b"},{"sha":"8b27c0f8ecbf810e8a3f59d574f25075a9163125","author":{"email":"f7bcc33b31c6eea7397ee057ae8d90c0ac04b491@seas.harvard.edu","name":"Sam Xi"},"message":"Preliminary fix for DMA setup latency cost.\n\nChange-Id: I39955a43eb0c98b4650d7f5884fe2692421f7e92","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/8b27c0f8ecbf810e8a3f59d574f25075a9163125"},{"sha":"dcb0cb74823898bb61f5952a4e2cfea4058e87f3","author":{"email":"f7bcc33b31c6eea7397ee057ae8d90c0ac04b491@seas.harvard.edu","name":"Sam Xi"},"message":"Fix TLB miss return bug and regStats vector out of bounds bug.\n\nWhen TLB misses, after the page table walk returns, it should set the node state\nback to Ready so the entire instruction must be reattempted. This fixes a bug in\nwhich every TLB request would get stuck in an endless translation -> ready loop.\n\nregStats was never being updated, so printing out stats would throw an out of\nbounds error.\n\nFixed some errors in config python scripts for SHOC.\n\nChange-Id: I76437c117d6d508fff0be2aa0572402dcfd85b01","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/dcb0cb74823898bb61f5952a4e2cfea4058e87f3"},{"sha":"f1bffc7113bde5e7a9ed97c10bf433ef7395700c","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Fixed the issue of loop pipelining when Aladdin tried to pipeline different\nfunctions. Loop pipelining should only applied to loops, not functions. This fix\nadded dependences between two consecutive branch ops, including call ops, and do\nnot remove dependences between branches when the dependent child is a call op.\n\nSomehow the globalOptimizationPass() did not include\nmemoryAmbiguation()...Added it back. The idea of the memoryAmbiguation() pass is\nto add memory dependences to the load store parirs that can not be easily\nstatically disambiguated. In our case, if a load-store dependence shows up in\none instance, we assume this applies to all the dynamic instances of the same\nload-store pairs.\n\nChange-Id: I7367066bcd95edded8e87cfa1a5e0a674113e8f8","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/f1bffc7113bde5e7a9ed97c10bf433ef7395700c"},{"sha":"d5b1d983d632adea0327791cc29f171012602863","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Added machsuite script for loops.\nAdded MachSuite files.\nUpdated unit-tests with current Aladdin.\n\nChange-Id: I1286122cb905d95dbac4ee063054f843949ad2d9","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/d5b1d983d632adea0327791cc29f171012602863"},{"sha":"343e9a9b42f02ef4ad97656df97fc7c3a0ca1988","author":{"email":"2245cc0943c1f3556bbf0068e407d9ea7e47dc0c@eecs.harvard.edu","name":"Sophia Shao"},"message":"Added script for MachSuite sweeps. Updated SHOC/md with nested loops instead of\ntwo kernels. Also updated SHOC for DMA operations.\n\nThe DMA model currently assumes that the programmers have already tile the\napplication appropriately, and each of the kernel that Aladdin runs only\nexecutes one instance of the tiled accelerator. In this case, we are not\noverlapping DMA time with datapath computation time; basically computation only\nstarts after DMA finishes.\n\nFixed DMA return. Before Aladdin assumed DMA finishes after DMA returns the first block\nof data. The current implementation uses the event mechanism inside gem5 to call\ncompleteDmaAccess() from dma_device.\n\nBUG=ALADDIN-14\n\nChange-Id: I9943dc4524eb7212df03a9ee0b11432914a184ea","distinct":false,"url":"https://api.github.com/repos/ysshao/ALADDIN/commits/343e9a9b42f02ef4ad97656df97fc7c3a0ca1988"}]}