Wisconsin Alumni Research Foundation

Technology

Controlling Parallelism in Real Time

Executing different portions of a program in parallel on different processors is known as parallelism. While this can boost how fast a program is executed, increased parallelism is not always benefici...
Learn More
Gurindar Sohi, Srinath Sridharan, Gagan Gupta | P110121US01

Technology

Increasing Memory Bandwidth

Modern computer processors can process data faster than the data can be exchanged with external memory. For this reason there is considerable interest in boosting the ‘bandwidth’ of the memory bus...
Learn More
Nam Sung Kim, Hao Wang | P140155US01

Technology

Energy-Efficient Multiplier Circuitry for GPUs

Processing images made up of pixel data is an important task of many modern processors, especially in portable devices like cells phones and tablets. Sophisticated image processing often requires floa...
Learn More
Nam Sung Kim, Syed Gilani, Michael Schulte | P140267US01

Technology

New Hardware Helps Cell Phones, Tablets Save Power

Energy efficiency is important in mobile electronics such as smart phones and tablets because of their size and reliance on battery power. At the same time, these kinds of devices must perform increas...
Learn More
Nam Sung Kim, Srinivasan Narayanamoorthy | P140276US01

Technology

Dynamic Bandwidth Scaling Improves Energy Efficiency

3-D main memory is an emerging technology in which stacks of DRAM are situated underneath the processor. This configuration helps decrease main memory latency while allowing designers to increase main...
Learn More
Nam Sung Kim, Daniel Chang, Hoyoung Kim | P130143US02

Technology

Memory Controller for Heterogeneous Processors

Many modern computers employ multiple processor types, for example, one or more conventional CPUs operating in tandem with specialized GPUs, the latter tailored to high-speed streaming processing. T...
Learn More
Nam Sung Kim, Hao Wang | P140398US01

Technology

Database Engine for Faster Analytics

Given the ever increasing amount of “big data” available, new analysis and processing tools are needed to fully leverage it. Big data is challenging to manage, requiring sophisticated mechanisms a...
Learn More
Jignesh Patel, Yinan Li | P140266US01

Technology

Managing Memory in Virtualized Computer Systems

Computer programs access memory using virtual addresses, which are translated by hardware into unique physical addresses that locate the data in the cache or memory. The set of virtual addresses acces...
Learn More
Mark Hill, Michael Swift, Jayneel Gandhi | P150108US01

Technology

Method Predicts Porting Speedup

High-performance computers may employ two processor systems having very different architectures, such as a CPU (computer processing unit) and a GPU (graphic processing unit). The ability of a GPU to h...
Learn More
Karthikeyan Sankaralingam, Newsha Ardalani, Xiaojin (Jerry) Zhu | P140165US01

Technology

Measuring Lignin in Corn Stalks

The lignin in corn stalks makes it difficult to process for biomass and harder for animals to digest. Levels are especially high in the tough outer ‘rind’ and vascular bundles of the stem. For th...
Learn More
Edgar Spalding, Sven Heckwolf | P140381US01

Technology

Predicting Protein Hot Spot Residues

Most biological processes involve multiple proteins interacting with each other. While the principles governing protein-protein interactions are not fully understood, it is known that a small subset o...
Learn More
Julie Mitchell, Xiaolei Zhu, Steven Darnell | P140357US01

Technology

Energy-Efficient Parallel Processing

In a multicore processor, the different cores share a common clock timing and operate at a synchronized frequency. Such processors are fast because their cores can work in parallel to execute differen...
Learn More
Nam Sung Kim | P140039US01

Technology

Memory Conserves Power, Is More Reliable

As circuit density increases, power efficiency has become a design priority for high-performance and low-power processors. Better energy efficiency means faster speeds and longer battery life. One te...
Learn More
Nam Sung Kim | P140001US01

Technology

Improved Gate Design for Quantum Computers

Some extremely complex tasks – like sorting very large databases or factoring large numbers – are challenging for classical computers. Quantum computers can solve such problems because they use qu...
Learn More
Mark Eriksson, John Gamble, Daniel Ward, Susan Coppersmith, Mark Friesen | P130184US02

Technology

Computer Accelerator System Boosts Efficiency

Hardware accelerators improve computer performance by allowing the main processor to off-load certain tasks, for example, processing floating-point or graphics calculations. The accelerator is designe...
Learn More
Karthikeyan Sankaralingam, Chen-Han Ho, Sung Kim | P140164US01

Technology

Predicting Computer Memory Failure

It is widely accepted that future processor technology will suffer from some degree of failure due to core aging. This failure leads to device faults. Anticipating faults before they occur can help th...
Learn More
Karthikeyan Sankaralingam, Amir Yazdanbakhsh, Raghuraman Balasubramanian, Anthony Nowatzki | P150070US01

Technology

Managing Computer Power and Performance

Energy consumption is a major constraint in computer design because of factors like power costs, operating life and heat. The tradeoff between energy consumption and performance is managed to some deg...
Learn More
David Wood, Rathijit Sen | P140071US01

Technology

Predicting Logic Gate Failure

Logic gates are the building blocks of integrated circuits. They use multiple transistors to receive and interpret voltage inputs, then provide outputs. Future generations of integrated circuit micr...
Learn More
Karthikeyan Sankaralingam, Raghuraman Balasubramanian | P130365US01

Technology

Maximizing Multicore Processor Performance

Computer processors typically include a number of central processing unit (CPU) cores for executing instructions. Each core is capable of reading and executing a sequence of instruction code, or ‘th...
Learn More
Nam Sung Kim | P130137US01

Technology

Optimizing Parallelism During Run-Time

Executing different portions of a program in parallel on different processors is known as parallelism. While this can boost how fast a program is executed, increased parallelism is not always benefici...
Learn More
Gurindar Sohi, Srinath Sridharan | P130131US01

WARF