EDBT 2026 Demo / reviewers in the wild / expert
Amin Farmahini Farahani
dblp:85/3820
· DBLP profile ↗
10ranked-venue papers
6as first author
0since 2021 · last 2018
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 8 · 4 first-authorSoftware engineering, systems software and programming languages · 4 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Memory systems · 38% GPUs and heterogeneous computing · 32% Electronic design automation · 16% |
Topics — the 10 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
GPUs and heterogeneous computing
GPU microarchitecture |
0.3 | 1 | 2018 | RegMutex: Inter-Warp GPU Register Time-Sharing · ISCA 2018 |
GPUs and heterogeneous computing › GPU microarchitecture
GPU register file |
0.3 | 1 | 2018 | RegMutex: Inter-Warp GPU Register Time-Sharing · ISCA 2018 |
Electronic design automation › high-level synthesis › resource binding
register allocation |
0.3 | 1 | 2018 | RegMutex: Inter-Warp GPU Register Time-Sharing · ISCA 2018 |
Memory systems › processing-in-memory
near-DRAM acceleration |
0.2 | 1 | 2015 | NDA: Near-DRAM acceleration architecture leveraging commodity DRAM devices and standard memory modules · HPCA 2015 |
Memory systems › processing-in-memory › memory-centric computing
near-memory accelerator |
0.2 | 1 | 2015 | NDA: Near-DRAM acceleration architecture leveraging commodity DRAM devices and standard memory modules · HPCA 2015 |
Memory systems
processing-in-memory |
0.2 | 1 | 2015 | NDA: Near-DRAM acceleration architecture leveraging commodity DRAM devices and standard memory modules · HPCA 2015 |
Memory systems › DRAM › DRAM architecture
3D-stacked DRAM |
0.1 | 1 | 2015 | NDA: Near-DRAM acceleration architecture leveraging commodity DRAM devices and standard memory modules · HPCA 2015 |
Memory systems
DRAM |
0.1 | 1 | 2015 | NDA: Near-DRAM acceleration architecture leveraging commodity DRAM devices and standard memory modules · HPCA 2015 |
Integrated circuit design
digital circuit design |
0.0 | 1 | 2013 | Modular Design of High-Throughput, Low-Latency Sorting Units · IEEE Trans. Computers 2013 |
Processor architecture and microarchitecture › pipelining
pipelined processor |
0.0 | 1 | 2013 | Modular Design of High-Throughput, Low-Latency Sorting Units · IEEE Trans. Computers 2013 |
Methods — techniques the papers use, named apart from their topics
register sharing · 0.3compiler-hardware co-design · 0.3through-silicon via · 0.2modular design · 0.2hierarchical construction · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | RegMutex: Inter-Warp GPU Register Time-SharingabstractRegisters are the fastest and simultaneously the most expensive kind of memory available to GPU threads. Due to existence of a great number of concurrently executing threads, and the high cost of context switching mechanisms, contemporary GPUs are equipped with large register files. However, to avoid over-complicating the hardware, registers are statically assigned and exclusively dedicated to threads for the entire duration of the thread's lifetime. This decomposition takes into account the maximum number of live registers at any given point in the GPU binary although the points at which all the requested registers are used may constitute only a small fraction of the whole program. Therefore, a considerable portion of the register file remains under-utilized. In this paper, we propose a software-hardware co-mechanism named RegMutex (Register Mutual Exclusion) to share a subset of physical registers between warps during the GPU kernel execution. With RegMutex, the compiler divides the architected register set into a base register set and an extended register set. While physical registers corresponding to the base register set are statically and exclusively assigned to the warp, the hardware time-shares the remaining physical registers across warps to provision their extended register set. Therefore, the GPU programs can sustain approximately the same performance with the lower number of registers hence yielding higher performance per dollar. For programs that require a large number of registers for execution, RegMutex will enable a higher number of concurrent warps to be resident in the hardware via sharing their register allocations with each other, leading to a higher device occupancy. Since some aspects of register sharing orchestration are being offloaded to the compiler, RegMutex introduces lower hardware complexity compared to existing approaches. Our experiments show that RegMutex improves the register utilization and reduces the number of execution cycles by up to 23% for kernels demanding a high number of registers. Farzad Khorasani, Hodjat Asghari Esfeden, Amin Farmahini Farahani, Nuwan Jayasena, Vivek Sarkar |
ISCA | 3 |
| 2015 | NMI: A new memory interface to enable innovation
Amin Farmahini Farahani, Nathan Hu, David Mayhew, Mike Ignatowski |
Hot Chips Symposium | 2 |
| 2015 | NDA: Near-DRAM acceleration architecture leveraging commodity DRAM devices and standard memory modulesabstractEnergy consumed for transferring data across the processor memory hierarchy constitutes a large fraction of total system energy consumption, and this fraction has steadily increased with technology scaling. In this paper, we propose near-DRAM acceleration (NDA) architectures, which process data using accelerators 3D-stacked on DRAM devices comprising off-chip main memory modules. NDA transfers most data through high-bandwidth and low-energy 3D interconnects between accelerators and DRAM devices instead of low-bandwidth and high-energy off-chip interconnects between a processor and DRAM devices, substantially reducing energy consumption and improving performance. Unlike previous near-memory processing architectures, NDA is built upon commodity DRAM devices; apart from inserting through-silicon vias (TSVs) to 3D-interconnect DRAM devices and accelerators, NDA requires minimal changes to the commodity DRAM device and standard memory module architectures. This allows NDA to be more easily adopted in both existing and emerging systems. Our experiments demonstrate that, on average, our NDA-based system consumes 46% (68%) lower (data transfer) energy at 1.67× higher performance than a system that integrates the same accelerator logic within the processor itself. Amin Farmahini Farahani, Jung Ho Ahn, Katherine Morrow, Nam Sung Kim |
HPCA | 1 |
| 2014 | Process variation-aware workload partitioning algorithms for GPUs supporting spatial-multitaskingabstractHigh-level programming languages have transformed graphics processing units (GPUs) from domain-restricted devices into powerful compute platforms. Yet many “generalpurpose GPU” (GPGPU) applications fail to fully utilize the GPU resources. Executing multiple applications simultaneously on different regions of the GPU (spatial multitasking) thus improves system performance. However, within-die process variations lead to significantly different maximum operating frequencies (Fmax) of the streaming multiprocessors (SMs) within a GPU. As the chip size and number of SMs per chip increase, the frequency variation is also expected to increase, exacerbating the problem. The increased number of SMs also provides a unique opportunity: we can allocate resources to concurrently-executing applications based on how those applications are affected by the different available Fmaxvalues. In this paper, we study the effects of per-SM clocking on spatial multitasking-capable GPUs. We demonstrate two factors that affect the performance of simultaneously-running applications: (i) the SM partitioning algorithm that decides how many resources to assign to each application, and (ii) the assignment of SMs to applications based on the operating frequencies of those SMs and the applications characteristics. Our experimental results show that spatial multitasking that partitions SMs based on application characteristics, when combined with per-SM clocking, can greatly improve application performance by up to 46% on average compared to cooperative multitasking with global clocking. Paula Aguilera, Jungseob Lee, Amin Farmahini Farahani, Katherine Morrow, Michael J. Schulte, Nam Sung Kim |
DATE | 3 |
| 2014 | Energy-efficient reconfigurable cache architectures for accelerator-enabled embedded systemsabstractHigh-performance embedded systems often include one or more embedded processors tightly coupled with more specialized accelerators. These accelerators improve both performance and energy efficiency because they are specialized for specific (or specific classes of) computations. Data communication between the accelerator and memory, however, is a potential bottleneck for both performance and energy-efficiency. In this paper, we compare and evaluate, for the first time, the impact of L1 data cache design on performance and energy consumption of embedded processor-accelerator systems with shared memory. For this evaluation, we consider data cache design parameters such as size, associativity, and port count, as well as L1 cache sharing between the processor and accelerator. We demonstrate the potential of configurable caches to exploit diversity in cache requirements across hybrid software/hardware applications to significantly improve energy-efficiency while maintaining high performance. Guided by these studies, we propose two techniques for improving energy-efficiency of the cache hierarchy in processor-accelerator systems. The first technique adds configurability to the accelerator-cache interface to allow the accelerator to either share the processor's L1 data cache or use its own private L1 cache. The second technique modifies the L1 cache structure to provide a configurable tradeoff between bandwidth (number of ports) and capacity. Our simulation results show that the first and second techniques improve cache hierarchy energy-efficiency by up to 64% and 33%, respectively, over that of non-configurable caches. Amin Farmahini Farahani, Nam Sung Kim, Katherine Morrow |
ISPASS | 1 |
| 2013 | Modular Design of High-Throughput, Low-Latency Sorting UnitsabstractHigh-throughput and low-latency sorting is a key requirement in many applications that deal with large amounts of data. This paper presents efficient techniques for designing high-throughput, low-latency sorting units. Our sorting architectures utilize modular design techniques that hierarchically construct large sorting units from smaller building blocks. The sorting units are optimized for situations in which only the M largest numbers from N inputs are needed, because this situation commonly occurs in many applications for scientific computing, data mining, network processing, digital signal processing, and high-energy physics. We utilize our proposed techniques to design parameterized, pipelined, and modular sorting units. A detailed analysis of these sorting units indicates that as the number of inputs increases their resource requirements scale linearly, their latencies scale logarithmically, and their frequencies remain almost constant. When synthesized to a 65-nm TSMC technology, a pipelined 256-to-4 sorting unit with 19 stages can perform more than 2.7 billion sorts per second with a latency of about 7 ns per sort. We also propose iterative sorting techniques, in which a small sorting unit is used several times to find the largest values. Amin Farmahini Farahani, Henry Duwe, Michael J. Schulte, Katherine Compton |
IEEE Trans. Computers | 1 |
| 2010 | Parallel scalable hardware implementation of asynchronous discrete particle swarm optimization
Amin Farmahini Farahani, Shervin Vakili, Sied Mehdi Fakhraie, Saeed Safari, Caro Lucas |
Eng. Appl. Artif. Intell. | 1 |
| 2009 | FPGA Design Analysis of the Clustering Algorithm for the CERN Large Hadron ColliderabstractThe Compact Muon Solenoid (CMS) Trigger of the Large Hadron Collider (LHC) particle accelerator at CERN selects potentially interesting particle collision data to process and archive for further study. The first stage of the trigger system, the hardware-based L1 Trigger, must sift through roughly 3 terabits/second of data describing the energy distribution of particles generated in the collisions, and reduce it to 100 megabits/second of event data that subsequent systems can handle. Without the CMS Trigger, the amount of experiment-generated data would quickly outstrip the archiving ability of the LHC system. Because of the sheer amount of input data and the rate at which it is generated, the hardware-based L1 Trigger is subject to stringent performance requirements. These will become even more severe as the LHC is upgraded over the next ten years, requiring a careful redesign of the L1 Trigger hardware. For example, future upgrades may introduce particle motion-tracking data into the L1 Trigger, resulting in an increased input data rate of up to 40 terabits/second. The need to modify the design as the LHC system is upgraded, the low-volume cost advantages of FPGAs, and a desire for a flexible and adaptable system all point toward the use of FPGAs as a hardware implementation solution. In this paper, we present several different FPGA implementations of the electron/photon identification module, a key part of the new Clustering Algorithm for the upgraded L1 Trigger. We analyze the resource requirements and performance tradeoffs, and present a qualitative discussion of flexibility to meet the changing needs of the CMS experiment. Finally, we narrow potential design choices to the top candidates and use one in a full Clustering Algorithm implementation. Anthony E. Gregerson, Amin Farmahini Farahani, Ben Buchli, Steve Naumov, Michail Bachtis, Katherine Compton, Michael J. Schulte, Wesley H. Smith, Sridhara Dasu |
FCCM | 2 |
| 2008 | Scalable Architecture for on-Chip Neural Network Training using Swarm IntelligenceabstractThis paper presents a novel architecture for on-chip neural network training using particle swarm optimization (PSO). PSO is an evolutionary optimization algorithm with a growing field of applications which has been recently used to train neural networks. The architecture exploits PSO algorithm to evolve network weights as well as a method called layer partitioning to implement neural networks. In the proposed method, a neural network is partitioned into groups of neurons and the groups are sequentially mapped to available functional units. Thus, the architecture is reconfigurable for training and implementing different multilayer feedforward neural networks without the need for modifying the architecture. The implementation is intended for real-time applications regarding hardware cost and speed. The results show that the proposed system provides a trade-off between resource requirements and speed. Amin Farmahini Farahani, Sied Mehdi Fakhraie, Saeed Safari |
DATE | 1 |
| 2007 | HW/SW partitioning using discrete particle swarmabstractHardware/Software partitioning is one of the most important issues of codesign of embedded systems, since the costs and delays of the final results of a design will strongly depend on partitioning. We present an algorithm based on Particle Swarm Optimization to perform the hardware/software partitioning of a given task graph for minimum cost subject to timing constraint. By novel evolving strategy, we enhance the efficiency and result's quality of our partitioning algorithm in an acceptable run-time. Also, we compare our results with those of Genetic Algorithm on different task graphs. Experimental results show the algorithm's effectiveness in achieving the optimal solution of the HW/SW partitioning problem even in large task graphs. Amin Farmahini Farahani, Mehdi Kamal, Sied Mehdi Fakhraie, Saeed Safari |
ACM Great Lakes Symposium on VLSI | 1 |