44967148
PVM Code Generator for the Fortran Parallel Transformer
6844898
Using hammock graphs to structure programs
Advanced computer architectures rely mainly on compiler optimizations for parallelization, vectorization, and pipelining. Efficient-code generation is based on a control dependence analysis to find the basic blocks and to determine the regions of control. However, unstructured branch statements, such as jumps and goto's, render the control flow analysis difficult, time-consuming, and result in poor code generation. Branches are part of many programming languages and occur in legacy and maintenance code as well as in assembler, intermediate languages, and byte code. A simple and effective technique is presented to convert unstructured branches into hammock graph control structures. Using three basic transformations, an equivalent program is obtained in which all control statements have a well-defined scope. In the interest of predication and branch prediction, the number of control variables has been minimized, thereby allowing a limited code replication. The correctness of the transformations has been proven using an axiomatic proof rule system. With respect to previous work, the algorithm is simpler and the branch conditions are less complex, making the program more readable and the code generation more efficient. Additionally, hammock graphs define single entry single exit regions and therefore allow localized optimizations. The restructuring method has been implemented into the parallelizing compiler FPT and allows to extract parallelism in unstructured programs. The use of hammock graph transformations in other application areas such as vectorization, decompilation, and assembly program restructuring is also demonstrated.
45771940
Smoothing Tensor-Valued Images Using Anisotropic Geodesic Diffusion
This paper considers the feature space of DT-MRI as a differential manifold with an affine-invariant metric. We generalise Di Zenzo’s structure tensor to tensor-valued images for edge detection. To improve the quality of the edges, we develop a generalised Perona-Malik method for smoothing tensor images. We demonstrate our algorithm on both synthetic and real DT-MRI data.
6097933
The Clar covering polynomial of hexagonal systems III
Abstract The Clar covering polynomial is a recently proposed concept of hexagonal systems by which some important topological indices such as perfect matching count, Clar number, first Herndon number, etc., can be easily obtained. In this paper we establish a relationship between the Clar covering polynomial and sextet polynomial. A lower bound of the Clar number and some properties of coefficients of the Clar covering polynomial are thus deduced. It is mentioned that the summation of coefficients of Clar covering polynomial can be used to calculate the number of perfect matchings of a certain kind of polyominoes relating to crystal physics.
15887745
The Rotation Graphs of Perfect Matchings of Plane Bipartite Graphs
Abstract In the present paper, the minimal proper alternating cycle (MPAC) rotation graph R(G) of perfect matchings of a plane bipartite graph G is defined. We show that an MPAC rotation graph R(G) of G is a directed rooted tree, and thus extend such a result for generalized polyhex graphs to arbitrary plane bipartite graphs. As an immediate result, we describe a one-to-one correspondence between MPAC systems and perfect matchings in G.
33313231
Image Scale-Space from the Heat Kernel
In this paper, we show how the heat-kernel can be used to construct a scale-space for image smoothing and edge detection. We commence from an affinity weight matrix computed by exponentiating the difference in pixel grey-scale and distance. From the weight matrix, we compute the graph Laplacian. Information flow across this weighted graph-structure with time is captured by the heat-equation, and the solution, i.e. the heat kernel, is found by exponentiating the Laplacian eigen-system with time. Our scale-space is constructed by varying the time parameter of the heat-kernel. The larger the time the greater the the amount of information flow across the graph. The method has the effect of smoothing within regions, but does not blur region boundaries. Moreover, the boundaries do not move with time and this overcomes one of the problems with Gaussian scale-space. We illustrate the effectiveness of the method for image smoothing and edge detection.
9404547
Blocking-aware processor voltage scheduling for real-time tasks
As mobile computing is getting popular, there is a growing need for techniques that minimize energy consumption on battery-powered mobile devices. Processor voltage scheduling can effectively reduce processor energy consumption by lowering the processor speed. In this paper, we study voltage scheduling for real-time periodic tasks with non-preemptible sections. Three schemes are proposed: The static speed algorithm derives the minimum static feasible speed based on the stack resource policy. Due to blocking, this static speed is usually higher than the speed required for scheduling fully preemptible tasks (called the utilization speed). Two dynamic speed algorithms are then introduced to further reduce energy consumption. The novel dual speed algorithm operates the processor at the utilization speed whenever possible and switches to the higher static speed only when blocking occurs. The dual speed dynamic reclaiming algorithm reserves time budget for each job, reclaims the unused time budget from completed jobs and redistributes it to subsequent jobs so they can run at a lower speed whenever possible. Feasibility conditions for real-time task sets have been derived and proved mathematically. Simulation results show that the proposed voltage scheduling algorithms dramatically reduce processor energy consumption over non-power-aware scheduling algorithms. Furthermore, the two dynamic speed algorithms consistently outperform the static speed scheme in a wide range of system and workload conditions.