26 research outputs found
Supporting 64-bit global indices in Epetra and other Trilinos packages -- Techniques used and lessons learned
The Trilinos Project is an effort to facilitate the design, development,
integration and ongoing support of mathematical software libraries within an
object-oriented framework. It is intended for large-scale, complex multiphysics
engineering and scientific applications. Epetra is one of its basic packages.
It provides serial and parallel linear algebra capabilities. Before Trilinos
version 11.0, released in 2012, Epetra used the C++ int data-type for storing
global and local indices for degrees of freedom (DOFs). Since int is typically
32-bit, this limited the largest problem size to be smaller than approximately
two billion DOFs. This was true even if a distributed memory machine could
handle larger problems. We have added optional support for C++ long long
data-type, which is at least 64-bit wide, for global indices. To save memory,
maintain the speed of memory-bound operations, and reduce further changes to
the code, the local indices are still 32-bit. We document the changes required
to achieve this feature and how the new functionality can be used. We also
report on the lessons learned in modifying a mature and popular package from
various perspectives -- design goals, backward compatibility, engineering
decisions, C++ language features, effects on existing users and other packages,
and build integration
Recommended from our members
Trilinos users guide.
The Trilinos Project is an effort to facilitate the design, development, integration and ongoing support of mathematical software libraries. A new software capability is introduced into Trilinos as a package. A Trilinos package is an integral unit usually developed by a small team of experts in a particular algorithms area such as algebraic preconditioners, nonlinear solvers, etc. The Trilinos Users Guide is a resource for new and existing Trilinos users. Topics covered include how to configure and build Trilinos, what is required to integrate an existing package into Trilinos and examples of how those requirements can be met, as well as what tools and services are available to Trilinos packages. Also discussed are some common practices that are followed by many Trilinos package developers. Finally, a snapshot of current Trilinos packages and their interoperability status is provided, along with a list of supported computer platforms
Association between health systems performance and treatment outcomes in patients co-infected with MDR-TB and HIV in KwaZulu-Natal, South Africa: implications for TB programmes.
CAPRISA, 2014.Objective: To improve the treatment of MDR-TB and HIV co-infected patients, we investigated the relationship between health system performance and patient treatment outcomes at 4 decentralised MDR-TB sites.
Methods: In this mixed methods case study which included prospective comparative data, we measured health system performance using a framework of domains comprising key health service components. Using Pearson Product Moment Correlation coefficients we quantified the direction and magnitude of the association between health system performance and MDR-TB treatment outcomes. Qualitative data from participant observation and interviews analysed using systematic text condensation (STC) complemented our quantitative findings.
Findings: We found significant differences in treatment outcomes across the sites with successful outcomes varying from 72% at Site 1 to 52% at Site 4 (p<0.01). Health systems performance scores also varied considerably across the sites. Our findings suggest there is a correlation between treatment outcomes and overall health system performance which is significant (r = 0.99, p<0.01), with Site 1 having the highest number of successful treatment outcomes and the highest health system performance. Although the 'integration' domain, which measured integration of MDR-TB services into existing services appeared to have the strongest association with successful treatment outcomes (r = 0.99, p<0.01), qualitative data indicated that the 'context' domain influenced the other domains.
Conclusion: We suggest that there is an association between treatment outcomes and health system performance. The chance of treatment success is greater if decentralised MDR-TB services are integrated into existing services. To optimise successful treatment outcomes, regular monitoring and support are needed at a district, facility and individual level to ensure the local context is supportive of new programmes and implementation is according to guidelines
The Reinforcing Therapist Performance (RTP) experiment: Study protocol for a cluster randomized trial
<p>Abstract</p> <p>Background</p> <p>Rewarding provider performance has been recommended by the Institute of Medicine as an approach to improve the quality of treatment, yet little empirical research currently exists that has examined the effectiveness and cost-effectiveness of such approaches. The aim of this study is to test the effectiveness and cost-effectiveness of providing monetary incentives directly to therapists as a method to improve substance abuse treatment service delivery and subsequent client treatment outcomes.</p> <p>Design</p> <p>Using a cluster randomized design, substance abuse treatment therapists from across 29 sites were assigned by site to either an implementation as usual (IAU) or pay-for-performance (P4P) condition.</p> <p>Participants</p> <p>Substance abuse treatment therapists participating in a large dissemination and implementation initiative funded by the Center for Substance Abuse Treatment.</p> <p>Intervention</p> <p>Therapists in both conditions received comprehensive training and ongoing monitoring, coaching, and feedback. However, those in the P4P condition also were given the opportunity to earn monetary incentives for achieving two sets of measurable behaviors related to quality implementation of the treatment.</p> <p>Outcomes</p> <p>Effectiveness outcomes will focus on the impact of the monetary incentives to increase the proportion of adolescents who receive a targeted threshold level of treatment, months that therapists demonstrate monthly competency, and adolescents who are in recovery following treatment. Similarly, cost-effectiveness outcomes will focus on cost per adolescent receiving targeted threshold level of treatment, cost per month of demonstrated competence, and cost per adolescent in recovery.</p> <p>Trial Registration</p> <p>Trial Registration Number: NCT01016704</p
A New Overview of The Trilinos Project
Since An Overview of the Trilinos Project [ACM Trans. Math. Softw. 31(3) (2005), 397–423] was published in 2005, Trilinos has grown significantly. It now supports the development of a broad collection of libraries for scalable computational science and engineering applications, and a full-featured software infrastructure for rigorous lean/agile software engineering. This growth has created significant opportunities and challenges. This paper focuses on some of the most notable changes to the Trilinos project in the last few years. At the time of the writing of this article, the current release version of Trilinos was 10.12.2
Improving the Development Process for CSE Software Authors:
Scientific and engineering programming has been around since the beginning of computing, often being the driving force for new system development and innovation. At the same time a continual focus on new modeling capabilities, and some apparent cultural issues, find software processes for many computational science and engineering (CSE) software projects lacking. Certainly there are notable exceptions, but our experience has been that CSE software projects, although committed to writing high-quality software, have few if any formal software processes and tools in place, and are often unaware of formal software quality assurance (SQA) concepts. Presently, increasing complexity of applications and a broad push to certify computations are dictating a higher standard for CSE software quality; it is no longer sufficient to claim to write high quality software. However, traditional software development models can be impractical for CSE projects to implement. Despite this, CSE software teams can benefit by implementing valuable SQA processes and tools. In this paper we outline some the processes and tools that are successfully used by the Trilinos Project. These tools and processes have been useful not only in increasing verifiable software quality, but also have improved overall software quality, and the development experience in general.
Recommended from our members
TriBITS lifecycle model. Version 1.0, a lean/agile software lifecycle model for research-based computational science and engineering and applied mathematical software.
Software lifecycles are becoming an increasingly important issue for computational science and engineering (CSE) software. The process by which a piece of CSE software begins life as a set of research requirements and then matures into a trusted high-quality capability is both commonplace and extremely challenging. Although an implicit lifecycle is obviously being used in any effort, the challenges of this process - respecting the competing needs of research vs. production - cannot be overstated. Here we describe a proposal for a well-defined software lifecycle process based on modern Lean/Agile software engineering principles. What we propose is appropriate for many CSE software projects that are initially heavily focused on research but also are expected to eventually produce usable high-quality capabilities. The model is related to TriBITS, a build, integration and testing system, which serves as a strong foundation for this lifecycle model, and aspects of this lifecycle model are ingrained in the TriBITS system. Here, we advocate three to four phases or maturity levels that address the appropriate handling of many issues associated with the transition from research to production software. The goals of this lifecycle model are to better communicate maturity levels with customers and to help to identify and promote Software Engineering (SE) practices that will help to improve productivity and produce better software. An important collection of software in this domain is Trilinos, which is used as the motivation and the initial target for this lifecycle model. However, many other related and similar CSE (and non-CSE) software projects can also make good use of this lifecycle model, especially those that use the TriBITS system. Indeed this lifecycle process, if followed, will enable large-scale sustainable integration of many complex CSE software efforts across several institutions