{"payload":{"pageCount":2,"repositories":[{"type":"Public","name":"Pythia","owner":"CMU-SAFARI","isFork":false,"description":"A customizable hardware prefetching framework using online reinforcement learning as described in the MICRO 2021 paper by Bera et al. (https://arxiv.org/pdf/2109.12021.pdf).","topicNames":["machine-learning","reinforcement-learning","computer-architecture","prefetcher","microarchitecture","cache-replacement","branch-predictor","champsim-simulator","champsim-tracer"],"topicsNotShown":0,"allTopics":["machine-learning","reinforcement-learning","computer-architecture","prefetcher","microarchitecture","cache-replacement","branch-predictor","champsim-simulator","champsim-tracer"],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":1,"starsCount":106,"forksCount":34,"license":"MIT License","participation":[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2024-05-22T22:00:48.396Z"}},{"type":"Public","name":"ramulator2","owner":"CMU-SAFARI","isFork":false,"description":"Ramulator 2.0 is a modern, modular, extensible, and fast cycle-accurate DRAM simulator. It provides support for agile implementation and evaluation of new memory system designs (e.g., new DRAM standards, emerging RowHammer mitigation techniques). Described in our paper https://people.inf.ethz.ch/omutlu/pub/Ramulator2_arxiv23.pdf","topicNames":["simulation","memory","dram"],"topicsNotShown":0,"allTopics":["simulation","memory","dram"],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":2,"issueCount":18,"starsCount":162,"forksCount":40,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2024-05-10T03:07:09.278Z"}},{"type":"Public","name":"ABACuS","owner":"CMU-SAFARI","isFork":false,"description":"New RowHammer mitigation mechanism that is area-, performance-, and energy-efficient especially at very low (e.g., 125) RowHammer thresholds, as described in the USENIX Security'24 paper https://arxiv.org/pdf/2310.09977.pdf","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":12,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2024-05-02T14:08:33.281Z"}},{"type":"Public","name":"CoMeT","owner":"CMU-SAFARI","isFork":false,"description":"CoMeT is a new low-cost RowHammer mitigation that uses Count-Min Sketch-based aggressor row tracking, as described in our HPCA'24 paper https://arxiv.org/pdf/2402.18769.pdf","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":7,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2024-04-05T20:38:42.057Z"}},{"type":"Public","name":"MIMDRAM","owner":"CMU-SAFARI","isFork":false,"description":"Source code for the architectural simulator used for modeling the PUD system proposed in our HPCA 2024 paper `MIMDRAM: An End-to-End Processing-Using-DRAM System for High-Throughput, Energy-Efficient and Programmer-Transparent Multiple-Instruction Multiple-Data Processing''. Paper is at: https://arxiv.org/pdf/2402.19080.pdf","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":6,"forksCount":4,"license":"Other","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2024-04-05T07:37:13.294Z"}},{"type":"Public","name":"Hermes","owner":"CMU-SAFARI","isFork":false,"description":"A speculative mechanism to accelerate long-latency off-chip load requests by removing on-chip cache access latency from their critical path, as described by MICRO 2022 paper by Bera et al. (https://arxiv.org/pdf/2209.00188.pdf)","topicNames":["machine-learning","cache","perceptron","computer-architecture","microarchitecture","perceptron-learning-algorithm","prefetching"],"topicsNotShown":0,"allTopics":["machine-learning","cache","perceptron","computer-architecture","microarchitecture","perceptron-learning-algorithm","prefetching"],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":58,"forksCount":12,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2024-02-04T11:49:46.710Z"}},{"type":"Public","name":"SequenceLab","owner":"CMU-SAFARI","isFork":false,"description":"SequenceLab is a benchmark suite for evaluating computational methods for comparing genomic sequences, such as pre-alignment filters and pairwise sequence alignment algorithms. SequenceLab is described by Rumpf et al. at https://arxiv.org/abs/2310.16908","topicNames":["benchmark","sequence-alignment","read-mapping"],"topicsNotShown":0,"allTopics":["benchmark","sequence-alignment","read-mapping"],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":1,"forksCount":0,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-23T12:24:08.143Z"}},{"type":"Public","name":"EINSim","owner":"CMU-SAFARI","isFork":false,"description":"DRAM error-correction code (ECC) simulator incorporating statistical error properties and DRAM design characteristics for inferring pre-correction error characteristics using only the post-correction errors. Described in the 2019 DSN paper by Patel et al.: https://people.inf.ethz.ch/omutlu/pub/understanding-and-modeling-in-DRAM-ECC_dsn19.pdf.","topicNames":["simulator","reliability","statistical-inference","dram","error-correcting-codes","map-estimation","error-correction"],"topicsNotShown":0,"allTopics":["simulator","reliability","statistical-inference","dram","error-correcting-codes","map-estimation","error-correction"],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":9,"forksCount":2,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T20:08:46.591Z"}},{"type":"Public","name":"Virtuoso","owner":"CMU-SAFARI","isFork":false,"description":"Virtuoso is a new simulator that focuses on modelling various memory management and virtual memory aspects.","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":1,"starsCount":19,"forksCount":6,"license":"Other","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-11-17T14:15:00.109Z"}},{"type":"Public","name":"SelfManagingDRAM","owner":"CMU-SAFARI","isFork":false,"description":"Source code for evaluating the performance and DRAM energy benefits of Self-Managing DRAM (SMD), proposed in https://arxiv.org/abs/2207.13358","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":4,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-11-11T16:29:18.059Z"}},{"type":"Public","name":"RawAlign","owner":"CMU-SAFARI","isFork":false,"description":"RawAlign is a real-time raw nanopore read mapper based on the Seed-Filter-Align paradigm as described by Lindegger et al. (https://arxiv.org/abs/2310.05037)","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":1,"starsCount":5,"forksCount":0,"license":"GNU General Public License v3.0","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-11-02T12:21:13.528Z"}},{"type":"Public","name":"MQSim","owner":"CMU-SAFARI","isFork":false,"description":"MQSim is a fast and accurate simulator modeling the performance of modern multi-queue (MQ) SSDs as well as traditional SATA based SSDs. MQSim faithfully models new high-bandwidth protocol implementations, steady-state SSD conditions, and the full end-to-end latency of requests in modern SSDs. It is described in detail in the FAST 2018 paper by A…","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":4,"issueCount":22,"starsCount":265,"forksCount":144,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-10-25T02:06:54.634Z"}},{"type":"Public","name":"ramulator","owner":"CMU-SAFARI","isFork":false,"description":"A Fast and Extensible DRAM Simulator, with built-in support for modeling many different DRAM technologies including DDRx, LPDDRx, GDDRx, WIOx, HBMx, and various academic proposals. Described in the IEEE CAL 2015 paper by Kim et al. at http://users.ece.cmu.edu/~omutlu/pub/ramulator_dram_simulator-ieee-cal15.pdf","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":6,"issueCount":58,"starsCount":514,"forksCount":206,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-08-29T09:48:04.714Z"}},{"type":"Public","name":"DAMOV","owner":"CMU-SAFARI","isFork":false,"description":"DAMOV is a benchmark suite and a methodical framework targeting the study of data movement bottlenecks in modern applications. It is intended to study new architectures, such as near-data processing. Described by Oliveira et al. (preliminary version at https://arxiv.org/pdf/2105.03725.pdf)","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":2,"issueCount":5,"starsCount":71,"forksCount":16,"license":"Other","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-07-27T07:27:50.323Z"}},{"type":"Public","name":"NATSA","owner":"CMU-SAFARI","isFork":false,"description":"NATSA is the first near-data-processing accelerator for time series analysis based on the Matrix Profile (SCRIMP) algorithm. NATSA exploits modern 3D-stacked High Bandwidth Memory (HBM) to enable efficient and fast matrix profile computation near memory. Described in ICCD 2020 by Fernandez et al. https://people.inf.ethz.ch/omutlu/pub/NATSA_time-…","topicNames":["accelerator","hbm","time-series-analysis","matrix-profile","near-data-processing","scrimp"],"topicsNotShown":0,"allTopics":["accelerator","hbm","time-series-analysis","matrix-profile","near-data-processing","scrimp"],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":2,"starsCount":13,"forksCount":2,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-06-14T15:18:22.894Z"}},{"type":"Public","name":"U-TRR","owner":"CMU-SAFARI","isFork":false,"description":"Source code of the U-TRR methodology presented in \"Uncovering In-DRAM RowHammer Protection Mechanisms: A New Methodology, Custom RowHammer Patterns, and Implications\", https://people.inf.ethz.ch/omutlu/pub/U-TRR-uncovering-RowHammer-protection-mechanisms_micro21.pdf","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":1,"starsCount":10,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2022-11-15T07:41:28.697Z"}},{"type":"Public","name":"ramulator-pim","owner":"CMU-SAFARI","isFork":false,"description":"A fast and flexible simulation infrastructure for exploring general-purpose processing-in-memory (PIM) architectures. Ramulator-PIM combines a widely-used simulator for out-of-order and in-order processors (ZSim) with Ramulator, a DRAM simulator with memory models for DDRx, LPDDRx, GDDRx, WIOx, HBMx, and HMCx. Ramulator is described in the IEEE …","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":1,"issueCount":19,"starsCount":132,"forksCount":58,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2022-10-01T04:40:17.765Z"}},{"type":"Public","name":"QUAC-TRNG","owner":"CMU-SAFARI","isFork":false,"description":"All sources to reproduce the results presented in our paper, QUAC-TRNG, the highest-throughput DRAM-based true random number generator, described in https://people.inf.ethz.ch/omutlu/pub/QUAC-TRNG-DRAM_isca21.pdf","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":8,"forksCount":0,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2022-09-27T20:33:51.406Z"}},{"type":"Public","name":"FastRemap","owner":"CMU-SAFARI","isFork":false,"description":"FastRemap, a C++ tool for quickly remapping reads between genome assemblies based on the commonly used CrossMap tool. Link to paper: https://arxiv.org/pdf/2201.06255.pdf","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":2,"starsCount":26,"forksCount":2,"license":"Other","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2022-08-24T06:45:28.747Z"}},{"type":"Public","name":"ApHMM-GPU","owner":"CMU-SAFARI","isFork":false,"description":"ApHMM-GPU is the first GPU implementation of the Baum-Welch algorithm for profile Hidden Markov Models (pHMMs). It includes many of the software optimizations as proposed in the ApHMM paper, which is described by Firtina et al. (preliminary version at https://arxiv.org/abs/2207.09765).","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":9,"forksCount":0,"license":"GNU General Public License v3.0","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2022-07-21T06:58:06.594Z"}},{"type":"Public","name":"BlockHammer","owner":"CMU-SAFARI","isFork":false,"description":"Source code for the cycle-level simulator and RTL implementation of BlockHammer proposed in our HPCA 2021 paper: Yaglikci et. al., \"BlockHammer: Preventing RowHammer at Low Cost by Blacklisting Rapidly-Accessed DRAM Rows\" at https://people.inf.ethz.ch/omutlu/pub/BlockHammer_preventing-DRAM-rowhammer-at-low-cost_hpca21.pdf","topicNames":["bloom-filter","rowhammer","memory-security","memory-access-throttling"],"topicsNotShown":0,"allTopics":["bloom-filter","rowhammer","memory-security","memory-access-throttling"],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":16,"forksCount":1,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2022-06-17T13:06:40.615Z"}},{"type":"Public","name":"HARP","owner":"CMU-SAFARI","isFork":false,"description":"HARP is a memory error profiling algorithm (i.e., for identifying error-prone cells) designed for use with memory chips that use on-die error-correcting codes (ECC). This tool uses Monte-Carlo simulation to evaluate HARP and other error profilers. HARP and this tool are described in the 2021 MICRO paper by Patel et al.: https://arxiv.org/abs/210…","topicNames":["simulator","monte-carlo","reliability","dram","error-correcting-codes","error-correction"],"topicsNotShown":0,"allTopics":["simulator","monte-carlo","reliability","dram","error-correcting-codes","error-correction"],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":7,"forksCount":1,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2021-10-05T12:39:05.060Z"}},{"type":"Public","name":"BEER","owner":"CMU-SAFARI","isFork":false,"description":"BEER determines an ECC code's parity-check matrix based on the uncorrectable errors it can cause. BEER targets Hamming codes that are used for DRAM on-die ECC but can be extended to apply to other linear block codes (e.g., BCH, Reed-Solomon). BEER is described in the 2020 MICRO paper by Patel et al.: https://arxiv.org/abs/2009.07985.","topicNames":["reliability","dram","error-correcting-codes","hamming-code","experimental-data","linear-block-code","ecc-schemes","error-characteristics"],"topicsNotShown":0,"allTopics":["reliability","dram","error-correcting-codes","hamming-code","experimental-data","linear-block-code","ecc-schemes","error-characteristics"],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":17,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-10-09T13:46:37.025Z"}},{"type":"Public","name":"Apollo","owner":"CMU-SAFARI","isFork":false,"description":"Apollo is an assembly polishing algorithm that attempts to correct the errors in an assembly. It can take multiple set of reads in a single run and polish the assemblies of genomes of any size. Described in the Bioinformatics journal paper (2020) by Firtina et al. at https://people.inf.ethz.ch/omutlu/pub/apollo-technology-independent-genome-asse…","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":2,"starsCount":27,"forksCount":2,"license":"GNU General Public License v3.0","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-05-10T08:54:28.294Z"}},{"type":"Public","name":"GPGPUSim-Ramulator","owner":"CMU-SAFARI","isFork":false,"description":"The source code for GPGPUSim+Ramulator simulator. In this version, GPGPUSim uses Ramulator to simulate the DRAM. This simulator is used to produce some of the results in our SIGMETRICS 2019 paper: Ghose et al., \"Demystifying Complex Workload-DRAM Interactions: An Experimental Study\" at https://arxiv.org/pdf/1902.07609.pdf.","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":1,"starsCount":43,"forksCount":14,"license":"Other","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2019-09-30T13:19:05.904Z"}},{"type":"Public","name":"CROW","owner":"CMU-SAFARI","isFork":false,"description":"Source code for the architectural and circuit-level simulators used for modeling the CROW (Copy-ROW DRAM) mechanism proposed in our ISCA 2019 paper \"CROW: A Low-Cost Substrate for Improving DRAM Performance, Energy Efficiency, and Reliability\". Paper is at: https://people.inf.ethz.ch/omutlu/pub/CROW-DRAM-substrate-for-performance-energy-reliabil…","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":1,"starsCount":15,"forksCount":11,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2019-08-02T07:50:26.546Z"}},{"type":"Public","name":"Register-Interval","owner":"CMU-SAFARI","isFork":false,"description":"LTRF's register-interval creation algorithm divides the control flow graph (CFG) of a GPU application into some register-intervals which have two main characteristics: 1) register-intervals have only one entry-point in CFG, and 2) they have a limited number of registers. This algorithm is part of ASPLOS2018 paper by Sadrosadati et al. at https:/…","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":0,"starsCount":3,"forksCount":1,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2019-05-24T11:44:56.513Z"}},{"type":"Public","name":"VAMPIRE","owner":"CMU-SAFARI","isFork":false,"description":"An open-source DRAM power model based on extensive experimental characterization of real DRAM modules. Described in the SIGMETRICS 2018 paper by Ghose et al. (https://people.inf.ethz.ch/omutlu/pub/VAMPIRE-DRAM-power-characterization-and-modeling_sigmetrics18_pomacs18.pdf)","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":3,"starsCount":34,"forksCount":10,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2019-03-01T19:50:54.654Z"}},{"type":"Public","name":"Mosaic","owner":"CMU-SAFARI","isFork":false,"description":"Source code of the simulator used in the Mosaic paper from MICRO 2017: \"Mosaic: A GPU Memory Manager with Application-Transparent Support for Multiple Page Sizes\" https://people.inf.ethz.ch/omutlu/pub/mosaic-application-transparent-multiple-page-sizes-for-GPUs_micro17.pdf","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":2,"starsCount":39,"forksCount":17,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2018-08-21T20:12:49.361Z"}},{"type":"Public","name":"LEAP","owner":"CMU-SAFARI","isFork":false,"description":"","topicNames":[],"topicsNotShown":0,"allTopics":[],"primaryLanguage":{"name":"C++","color":"#f34b7d"},"pullRequestCount":0,"issueCount":1,"starsCount":4,"forksCount":1,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2017-02-06T00:44:57.141Z"}}],"repositoryCount":34,"userInfo":null,"searchable":true,"definitions":[],"typeFilters":[{"id":"all","text":"All"},{"id":"public","text":"Public"},{"id":"source","text":"Sources"},{"id":"fork","text":"Forks"},{"id":"archived","text":"Archived"},{"id":"template","text":"Templates"}],"compactMode":false},"title":"Repositories"}