4,955 research outputs found

    Tackling Exascale Software Challenges in Molecular Dynamics Simulations with GROMACS

    Full text link
    GROMACS is a widely used package for biomolecular simulation, and over the last two decades it has evolved from small-scale efficiency to advanced heterogeneous acceleration and multi-level parallelism targeting some of the largest supercomputers in the world. Here, we describe some of the ways we have been able to realize this through the use of parallelization on all levels, combined with a constant focus on absolute performance. Release 4.6 of GROMACS uses SIMD acceleration on a wide range of architectures, GPU offloading acceleration, and both OpenMP and MPI parallelism within and between nodes, respectively. The recent work on acceleration made it necessary to revisit the fundamental algorithms of molecular simulation, including the concept of neighborsearching, and we discuss the present and future challenges we see for exascale simulation - in particular a very fine-grained task parallelism. We also discuss the software management, code peer review and continuous integration testing required for a project of this complexity.Comment: EASC 2014 conference proceedin

    Evaluation of Pedometer Performance Across Multiple Gait Types Using Video for Ground Truth

    Get PDF
    This dissertation is motivated by improving healthcare through the development of wearable sensors. This work seeks improvement in the evaluation and development of pedometer algorithms, and is composed of two chapters describing the collection of the dataset and describing the im-plementation and evaluation of three previously developed pedometer algorithms on the dataset collected. Our goal is to analyze pedometer algorithms under more natural conditions that occur during daily living where gaits are frequently changing or remain regular for only brief periods of time. We video recorded 30 participants performing 3 activities: walking around a track, walking through a building, and moving around a room. The ground truth time of each step was manu-ally marked in the accelerometer signals through video observation. Collectively 60,853 steps were recorded and annotated. A subclass of steps called shifts were identiļ¬ed as those occurring at the beginning and end of regular strides, during gait changes, and during pivots changing the direction of motion. While shifts comprised only .03% of steps in the regular stride activity, they comprised 10-25% of steps in the semi-regular and unstructured activities. We believe these motions should be identiļ¬ed separately, as they provide diļ¬€erent accelerometer signals, and likely result in diļ¬€erent amounts of energy expenditure. This dataset will be the ļ¬rst to speciļ¬cally allow for pedometer algorithms to be evaluated on unstructured gaits that more closely model natural activities. In order to provide pilot evaluation data, a commercial pedometer, the Fitbit Charge 2, and three prior step detection algorithms were analyzed. The Fitbit consistently underestimated the total number of steps taken across each gait type. Because the Fitbit algorithm is proprietary, it could not be reimplemented and examined beyond a raw step count comparison. Three previously published step detection algorithms, however, were implemented and examined in detail on the dataset. The three algorithms are based on three diļ¬€erent methods of step detection; peak detection, zero crossing (threshold based), and autocorrelation. The evaluation of these algorithms was performed across 5 dimensions, including algorithm, parameter set, gait type, sensor position, and evaluation metric, which yielded 108 individual measures of accuracy. Accuracy across each of the 5 dimensions were examined individually in order to determine trends. In general, training parameters to this dataset caused a signiļ¬cant accuracy improvement. The most accurate algorithm was dependent on gait type, sensor position, and evaluation metric, indicating no clear ā€œbest approachā€ to step detection. In general, algorithms were most accurate for regular gait and least accurate for unstructured gait. In general, accuracy was higher for hip and ankle worn sensors than it was for wrist worn sensors. Finally, evaluation across running count accuracy (RCA) and step detection accuracy (SDA) revealed similar trends across gait type and sensor position, but each metric indicated a diļ¬€erent algorithm with the highest overall accuracy. A classiļ¬er was developed to identify gait type in an eļ¬€ort to use this information to improve pedometer accuracy. The classiļ¬erā€™s features are based on the Fast Fourier Transform (FFT) applied to the accelerometer data gathered from each sensor throughout each activity. A peak detector was developed to identify the maximum value of the FFT, the width of the peak yielding the maximum value, and the number of peaks in each FFT. These features were then applied to a Naive Bayes classiļ¬er, which correctly identiļ¬ed the gait (regular, semi-regular, or unstructured) with 84% accuracy. A varying algorithm pedometer was then developed which switched between the peak detection, threshold crossing, and autocorrelation based algorithms depending on which algorithm performed best for the sensor location and detected gait type. This process yielded a step detection accuracy of 84%. This was a 3% improvement when compared to the greatest accuracy achieved by the best performing algorithm, the peak detection algorithm. It was also identiļ¬ed that in order to provide quicker real-time transitions between algorithms, the data should be examined in smaller windows. Window sizes of 3, 5, 8, 10, 15, 20, and 30 seconds were tested, and the highest overall accuracy was found for a window size of 5 seconds. These smaller windows of time included behaviors which do not correspond directly with the regular, semi-regular, and unstructured gait activities. Instead, three stride types were identiļ¬ed: steady stride, irregular stride, and idle. These stride types were identiļ¬ed with 82% accuracy. This experiment showed that at an activity level, gait detection can improve pedometer accuracy and indicated that applying the same principles to a smaller window size could allow for more responsive real-time algorithm selection

    Unsupervised Parkinsonā€™s Disease Assessment

    Get PDF
    Parkinsonā€™s Disease (PD) is a progressive neurological disease that affects 6.2 million people worldwide. The most popular clinical method to measure PD tremor severity is a standardized test called the Unified Parkinsonā€™s Disease Rating Scale (UPDRS), which is performed subjectively by a medical professional. Due to infrequent checkups and human error introduced into the process, treatment is not optimally adjusted for PD patients. According to a recent review there are two devices recommended to objectively quantify PD symptom severity. Both devices record a patientā€™s tremors using inertial measurement units (IMUs). One is not currently available for over the counter purchases, as they are currently undergoing clinical trials. It has also been used in studies to evaluate to UPDRS scoring in home environments using an Android application to drive the tests. The other is an accessible product used by researchers to design home monitoring systems for PD tremors at home. Unfortunately, this product includes only the sensor and requires technical expertise and resources to set up the system. In this paper, we propose a low-cost and energy-efficient hybrid system that monitors a patientā€™s daily actions to quantify hand and finger tremors based on relevant UPDRS tests using IMUs and surface Electromyography (sEMG). This device can operate in a home or hospital environment and reduces the cost of evaluating UPDRS scores from both patient and the clinicianā€™s perspectives. The system consists of a wearable device that collects data and wirelessly communicates with a local server that performs data analysis. The system does not require any choreographed actions so that there is no need for the user to follow any unwieldy peripheral. In order to avoid frequent battery replacement, we employ a very low-power wireless technology and optimize the software for energy efficiency. Each collected signal is filtered for motion classification, where the system determines what analysis methods best fit with each period of signals. The corresponding UPDRS algorithms are then used to analyze the signals and give a score to the patient. We explore six different machine learning algorithms to classify a patientā€™s actions into appropriate UPDRS tests. To verify the platformā€™s usability, we conducted several tests. We measured the accuracy of our main sensors by comparing them with a medically approved industry device. The our device and the industry device show similarities in measurements with errors acceptable for the large difference in cost. We tested the lifetime of the device to be 15.16 hours minimum assuming the device is constantly on. Our filters work reliably, demonstrating a high level of similarity to the expected data. Finally, the device is run through and end-to-end sequence, where we demonstrate that the platform can collect data and produce a score estimate for the medical professionals

    nbodykit: an open-source, massively parallel toolkit for large-scale structure

    Get PDF
    We present nbodykit, an open-source, massively parallel Python toolkit for analyzing large-scale structure (LSS) data. Using Python bindings of the Message Passing Interface (MPI), we provide parallel implementations of many commonly used algorithms in LSS. nbodykit is both an interactive and scalable piece of scientific software, performing well in a supercomputing environment while still taking advantage of the interactive tools provided by the Python ecosystem. Existing functionality includes estimators of the power spectrum, 2 and 3-point correlation functions, a Friends-of-Friends grouping algorithm, mock catalog creation via the halo occupation distribution technique, and approximate N-body simulations via the FastPM scheme. The package also provides a set of distributed data containers, insulated from the algorithms themselves, that enable nbodykit to provide a unified treatment of both simulation and observational data sets. nbodykit can be easily deployed in a high performance computing environment, overcoming some of the traditional difficulties of using Python on supercomputers. We provide performance benchmarks illustrating the scalability of the software. The modular, component-based approach of nbodykit allows researchers to easily build complex applications using its tools. The package is extensively documented at http://nbodykit.readthedocs.io, which also includes an interactive set of example recipes for new users to explore. As open-source software, we hope nbodykit provides a common framework for the community to use and develop in confronting the analysis challenges of future LSS surveys.Comment: 18 pages, 7 figures. Feedback very welcome. Code available at https://github.com/bccp/nbodykit and for documentation, see http://nbodykit.readthedocs.i

    ColDICE: a parallel Vlasov-Poisson solver using moving adaptive simplicial tessellation

    Full text link
    Resolving numerically Vlasov-Poisson equations for initially cold systems can be reduced to following the evolution of a three-dimensional sheet evolving in six-dimensional phase-space. We describe a public parallel numerical algorithm consisting in representing the phase-space sheet with a conforming, self-adaptive simplicial tessellation of which the vertices follow the Lagrangian equations of motion. The algorithm is implemented both in six- and four-dimensional phase-space. Refinement of the tessellation mesh is performed using the bisection method and a local representation of the phase-space sheet at second order relying on additional tracers created when needed at runtime. In order to preserve in the best way the Hamiltonian nature of the system, refinement is anisotropic and constrained by measurements of local Poincar\'e invariants. Resolution of Poisson equation is performed using the fast Fourier method on a regular rectangular grid, similarly to particle in cells codes. To compute the density projected onto this grid, the intersection of the tessellation and the grid is calculated using the method of Franklin and Kankanhalli (1993) generalised to linear order. As preliminary tests of the code, we study in four dimensional phase-space the evolution of an initially small patch in a chaotic potential and the cosmological collapse of a fluctuation composed of two sinusoidal waves. We also perform a "warm" dark matter simulation in six-dimensional phase-space that we use to check the parallel scaling of the code.Comment: Code and illustration movies available at: http://www.vlasix.org/index.php?n=Main.ColDICE - Article submitted to Journal of Computational Physic
    • ā€¦
    corecore