The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
This paper presents a compiler and runtime framework for parallelizing sparse matrix computations that have loop-carried dependences. Our approach automatically generates a runtime inspector to collect data dependence information and achieves wavefront parallelization of the computation, where iterations within a wavefront execute in parallel, and synchronization is required across wavefronts. A key...
SIMD (Single Instruction Multiple Data) extension units are ubiquitous in modern processors. Array indirections raise several challenges for SIMD vectorization including disjoint memory access, unknown alignment and dependence cycle. Existing SIMD automatic vectorization methods fail to handle these challenges very well. This paper presents a new method exploiting Pure SLP (Superword Level Parallelism)...
When we have an integer sequence that can be realized as the degree sequence of some graph, we say that the sequence is graphic. While almost any graph theory book describes how a sequence can be tested to see if it's graphic, surprisingly (because this testing has common applications), very little has been written about how to do it efficiently. This highlights the gap between simply knowing that...
Functionally dependent (FD) mappings permeate software systems and impose constraints on designs for verification. This paper develops concepts for accommodating FD relations in combinatorial test designs and derives rules to determine combinatorial coverage for FD factors. FD equivalence class factors are introduced to assess coverage of expected results classes before test case generation. Examples...
Combinatorial testing (CT) aims at detecting interaction failures between parameters in a system. Identifying the failure-inducing combinations of a failing test configuration can help developers find the cause of this failure. However, most studies in CT focus on detecting the failures rather than identifying failure-inducing combinations. In this paper, we propose the notion of a tuple relationship...
In the software testing, source code instrumentation can be used test code coverage and memory detect, and then collecting testing data during the program dynamic running; but the way can not used to getting process run time. This paper propound kernel task hook instrumentation based on process Switch, for achieving timing relevant index of process during it's life periods, then analyzed the kernel...
In this paper, we propose and evaluate new storage formats for sparse matrices that minimize the space complexity of information about matrix structure. The motivation of our work are applications with very large sparse matrices that due to their size must be processed on massively parallel computer systems consisting of tens or hundreds of thousands of processor cores and that must be stored in a...
Linear dependence tests determine the dependences with linear array subscripts, but only give the passive results for those with nonlinear ones. That is to say, dependences exist as long as there are nonlinear cases, which may lead to pseudo-dependences. However, to maximize the parallelism of applications and improve the credibility of the optimizing compiler, it is necessary to develop a nonlinear...
This work presents a novel full generalized likelihood ratio test (GLRT) for signal detection in a sensor array environment. The multiple hypothesis test approach is well known to have excellent detection performance among several popular methods. Existing multiple test procedures consider the relation between two adjacent models. When the number of signals or the assumed number of signals is large,...
This paper deals with parametric optimization of erosion wear of ZA-27 metal matrix composites (MMCs) reinforced with silicon carbide (SiC) particle in different weight proportions (0, 3, 6 and 9 wt %) using Taguchi experimental design. This technique is a powerful analysis tool for modeling and analyzing the influence of control factors on performance output. Erosion wear test are carried out following...
An approach to error-based testing is described that uses simple programmer error models and focus-directed methods for detecting the effects of errors. Errors are associated with forgetting, ignorance, bandwidth and perversity. The focus-directed approach was motivated by the observation that focus is more important than methodology in detecting such errors. The strengths and weaknesses of error-based...
This paper presents a case study of the functional verification of a custom implementation of a random access priority queue which was optimized for performance. Although data structures have been used for decades few studies have examined the effectiveness of different testing strategies applied to complex data structures. In this study, four different testing approaches were used to test a priority...
Several static analysis techniques, e.g., symbolic execution or scope-bounded checking, as well as dynamic analysis techniques, e.g., specification-based testing, use constraint solvers as an enabling technology. To analyze code that manipulates structurally complex data, the underlying solver must support structural constraints. Solving such constraints can be expensive due to the large number of...
A GPGPU-based collision detection algorithm is proposed. Firstly, the information of OBB hierarchy tree and triangles of tested objects are mapped into some data textures designed for GPGPU-based calculation, such as triangle vertex textures, bounding box size texture, tree node relationship texture, etc., then these textures are downloaded to GPU to complete the data preparation. Secondly, the whole...
Test data generation is one of the important tasks during software testing. This paper proposes an approach to generating test cases automatically for the unit test of C programs with derived types including pointers, structures and arrays. Our approach combines symbolic execution and concrete execution. The approach captures operations on variables precisely by concrete execution, and thus it is...
For the issue that embedded devices have limited space, this paper proposes a static balanced tree-S-B tree to substitute B+-tree as index of embedded database. Based on some embedded databases do not have to insert and delete on the actual application, S-B tree combines the brilliant time efficiency of B+-tree and the space utilization of static tree to reduce space waste by B+-tree index. We use...
As computers with multi-core CPUs become the norm, software development professionals must confront the challenge of developing software that takes advantage of this hardware trend. API providers, in turn, must provide useful parallel programming libraries. PLINQ, a parallel version of Microsoft's LINQ-to-Objects, is one such API aimed at providing a simple, functional style programming model for...
Operational profiles are an essential part of software reliability engineering. Typically they are created from the software requirements, and through customer reviews. Creation of operational profiles often is laborious and requires human intervention. Our approach builds an operational profile based on the actual usage from execution logs. The difficulty in using execution logs is that the amount...
Accurate data dependence testing allows a compiler to perform safe automatic code optimization and parallelization. It has been shown that factors, such as loop variants and nonlinear expressions, limit opportunity for data dependence testing and parallelization. Recently, the NLVI-Test has been introduced as new technology to enable exact data dependence testing on nonlinear expressions. Apart from...
Software-based self-test (SBST) is increasingly used for testing processor cores embedded in SoCs, mainly because it allows at-speed, low-cost testing, while requiring limited (if any) hardware modifications to the original design. However, the method requires effective techniques for generating suitable test programs and for monitoring the results. In the case of processor core testing, a particularly...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.