Future Technologies

Future Technologies

The Future Technologies performs research in core technologies for future generations of high-end computing architectures, including prototype computer architectures and experimental software systems. We investigate these technologies with the goal of improving the performance, energy efficiency, reliability, and productivity of these architectures for our sponsors. Frequently, we work closely with applications teams to co-design new algorithm implementations and develop performance predictions to exploit these technologies effectively.


A distributed OpenCL framework using redundant computation and data replication

Applications written solely in OpenCL or CUDA cannot execute on a cluster as a whole. Most previous approaches that extend these programming models to clusters are based on a common idea: designating...

Communication Characterization and Optimization of Applications Using Topology-Aware Task Mapping on Large Supercomputers

On large supercomputers, the job scheduling systems may assign a non-contiguous node allocation for user applications depending on available resources. With parallel applications using MPI (Message...

Algorithm-Directed Data Placement in Explicitly Managed Non-Volatile Memory

The emergence of many non-volatile memory (NVM) techniques is poised to revolutionize main memory systems because of the relatively high capacity and low lifetime power consumption of NVM. However,...


  • Emerging architectures including GPUs, FPGAs, nonvolatile memory, and other alternative architectures
  • Productive programming environments including compilers, GAS programming models, and scalable runtime systems
  • Performance analysis, modeling, simulation, and prediction
  • Application-Architecture codesign
  • Early evaluation and benchmarking of High Performance Computing systems
  • Visualization of extreme scale data
  • Parallel I/O