`lux`: a High Performance Distributed Computing Framework ========================================================= `lux` is a framework for developing portable high performance scientific computing software. Based on a generic performance model, `lux` provides resources and task abstractions to support run time optimization. It manages resources, measures task performance, and then dynamically adjusts algorithms to achieve portable performance for distributed heterogeneous systems. Using a simple module architecture, `lux` provides basic functions to access modules/plug-ins and supports configuring, planning, and running scientific computing jobs. Almost everything in `lux` is implemented as a module. This makes `lux` lightweight but powerful.