scispace - formally typeset
Search or ask a question
Topic

Software portability

About: Software portability is a research topic. Over the lifetime, 8987 publications have been published within this topic receiving 164922 citations. The topic is also known as: portability.


Papers
More filters
Proceedings ArticleDOI
11 Sep 1991
TL;DR: It is believed that a compiler-integrated approach will provide a significant increase in the efficiency of several existing testing tools and allow program mutation to be effectively used to test commercial software systems.
Abstract: A method for integrating support for program mutation into a compiler is presented. The method is both efficient and sufficiently powerful to support program mutation software testing. Moreover, existing research suggests that this approach appears to be essential for the cost-effective application of program mutation to testing large commercial software systems. It is believed that a compiler-integrated approach will provide a significant increase in the efficiency of several existing testing tools and allow program mutation to be effectively used to test commercial software systems. >

74 citations

Journal ArticleDOI
01 Apr 2012
TL;DR: This paper presents the skeleton library Muesli, which not only simplifies parallel programming but also allows to write a single application that may be executed on a variety of parallel machines ranging from simple multi-core processors with shared memory to clusters of multi-and many- core processors with distributed memory as well as multi-GPU systems and GPU clusters.
Abstract: Due to the lack of high-level abstractions, developers of parallel applications have to deal with low-level details such as coordinating threads or synchronising processes. Thus, parallel programming still remains a difficult and error-prone task. In order to shield the user from these low-level details, algorithmic skeletons have been proposed. They encapsulate typical parallel programming patterns and have emerged to be an efficient approach to simplifying the development of parallel applications. In this paper, we present our skeleton library Muesli, which not only simplifies parallel programming. Additionally, it allows to write a single application that may be executed on a variety of parallel machines ranging from simple multi-core processors with shared memory to clusters of multi-and many-core processors with distributed memory as well as multi-GPU systems and GPU clusters. The level of platform independence is not reached by other existing approaches, that simplify parallel programming. Internally, the skeletons are based on MPI, OpenMP and CUDA. We demonstrate portability and efficiency of our approach by providing experimental results.

74 citations

Journal ArticleDOI
TL;DR: A shared nonuniform access memory model is developed which simplifies parallel programming while at the same time providing for portability across both distributed- and shared-memory machines.
Abstract: We describe the design philosophy, structure, and supporting tool kits of the NWChem computational chemistry package. The primary purpose of this effort was to develop efficient parallel algorithms for a broad range of methods commonly used in computational chemistry. To facilitate this, we developed a shared nonuniform access memory model which simplifies parallel programming while at the same time providing for portability across both distributed- and shared-memory machines. In addition to this specific focus on parallelization, a substantial effort has been made to simplify the general problem of large-scale software development, which is common to many research groups. We find that this simplification can be achieved through judicious use of ideas from the computer science field of software engineering in the design and implementation of the program with minimal extra effort on the part of the chemist. © 1995 John Wiley & Sons, Inc.

74 citations

Proceedings Article
01 Jan 2010
TL;DR: This paper investigates the specificity of code optimizations to accelerator architecture and the severity of lack of performance portability, and achieves functional protability, allowing to reduce the development time of kernels.
Abstract: Accelerator processors allow energy-efficient computation at high performance, especially for computationintensive applications. There exists a plethora of different accelerator architectures, such as GPUs and the Cell Broadband Engine. Each accelerator has its own programming language, but the recently introduced OpenCL language unifies accelerator programming languages. Hereby, OpenCL achieves functional protability, allowing to reduce the development time of kernels. Functional portability however has limited value without performance portability: the possibility to re-use optimized kernels with good performance. This paper investigates the specificity of code optimizations to accelerator architecture and the severity of lack of performance portability.

74 citations

Book ChapterDOI
01 Jan 2004
TL;DR: Non-functional aspects of software development should be treated as requirements to be dealt with from the earliest stages of the software development process, and then throughout the entire life cycle.
Abstract: Software developers are constantly under pressure to deliver code on time and on budget. As a result, many projects focus on delivering functionalities at the expense of meeting non-functional requirements such as reliability, security, maintainability, portability, accuracy, among others. As software complexity grows and clients demand higher and higher quality software, non-functional properties can no longer be considered to be of secondary importance. Many systems fail or fall into disuse precisely because of inadequacies in these properties. These nonfunctional aspects have been treated as properties or attributes after the fact. While these properties have always been a concern among software engineering researchers, early work have tended to view them as properties or attributes of the finished software product to be evaluated and measured. Recent work offer the complementary view that they should be treated as requirements to be dealt with from the earliest stages of the software development process [6][7], and then throughout the entire life cycle.

74 citations


Network Information
Related Topics (5)
Software
130.5K papers, 2M citations
90% related
Cloud computing
156.4K papers, 1.9M citations
83% related
The Internet
213.2K papers, 3.8M citations
83% related
Wireless sensor network
142K papers, 2.4M citations
82% related
Artificial neural network
207K papers, 4.5M citations
82% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
20241
2023580
20221,257
2021290
2020308
2019381