mdh.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 11) Show all publications
Källberg, L., Shellshear, E. & Larsson, T. B. (2016). An external memory algorithm for the minimum enclosing ball problem. In: VISIGRAPP 2016 - Proceedings of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications: . Paper presented at 11th International Conference on Computer Graphics Theory and Application, GRAPP 2016; Part of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications, VISIGRAPP 2016, 27 February 2016 through 29 February 2016 (pp. 83-90).
Open this publication in new window or tab >>An external memory algorithm for the minimum enclosing ball problem
2016 (English)In: VISIGRAPP 2016 - Proceedings of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications, 2016, p. 83-90Conference paper, Published paper (Refereed)
Abstract [en]

In this article we present an external memory algorithm for computing the exact minimum enclosing ball of a massive set of points in any dimension. We test the performance of the algorithm on real-life three-dimensional data sets and demonstrate for the first time the practical efficiency of exact out-of-core algorithms. By use of simple heuristics, we achieve near-optimal I/O in all our test cases.

Keywords
Big Data, External Memory Algorithm, Minimum Enclosing Ball, Smallest Bounding Sphere, Computation theory, Computer graphics, Computer vision, External memory algorithms, Near-optimal, Out-of-core algorithms, Simple heuristics, Test case, Three dimensional data sets, Algorithms
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-31792 (URN)2-s2.0-84968830542 (Scopus ID)9789897581755 (ISBN)
Conference
11th International Conference on Computer Graphics Theory and Application, GRAPP 2016; Part of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications, VISIGRAPP 2016, 27 February 2016 through 29 February 2016
Available from: 2016-06-09 Created: 2016-06-09 Last updated: 2018-02-22Bibliographically approved
Larsson, T. B., Capannini, G. & Källberg, L. (2016). Parallel computation of optimal enclosing balls by iterative orthant scan. Computers & graphics, 56, 1-10
Open this publication in new window or tab >>Parallel computation of optimal enclosing balls by iterative orthant scan
2016 (English)In: Computers & graphics, ISSN 0097-8493, E-ISSN 1873-7684, Vol. 56, p. 1-10Article in journal (Refereed) Published
Abstract [en]

We propose an algorithm for computing the exact minimum enclosing ball of large point sets in general dimensions. It aims to reduce the number of passes by retrieving a well-balanced set of outliers in each linear search through the input by decomposing the space into orthants. The experimental evidence indicates that the convergence rate in terms of the required number of linear passes is superior compared to previous exact methods, and substantially faster execution times are observed in dimensions d≤16. In the important three-dimensional case, the execution times indicate real-time performance. Furthermore, we show how the algorithm can be adapted for parallel execution on both CPU and GPU architectures using OpenMP, AVX, and CUDA. For large datasets, our CUDA solution is superior. For example, the benchmark results show that optimal bounding spheres for inputs with tens of millions of points can be computed in just a few milliseconds.

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-31461 (URN)10.1016/j.cag.2016.01.003 (DOI)000375813900001 ()2-s2.0-84962520463 (Scopus ID)
Available from: 2016-04-22 Created: 2016-04-22 Last updated: 2018-02-23Bibliographically approved
Holsti, N., Gustafsson, J., Källberg, L. & Lisper, B. (2015). Analysing switch-case code with abstract execution. In: OpenAccess Series in Informatics: . Paper presented at 15th International Workshop on Worst-Case Execution Time Analysis, WCET 2015, 7 July 2015 (pp. 85-94).
Open this publication in new window or tab >>Analysing switch-case code with abstract execution
2015 (English)In: OpenAccess Series in Informatics, 2015, p. 85-94Conference paper, Published paper (Refereed)
Abstract [en]

Constructing the control-flow graph (CFG) of machine code is made difficult by dynamic transfers of control (DTC), where the address of the next instruction is computed at run-time. Switchcase statements make compilers generate a large variety of machine-code forms with DTC. Two analysis approaches are commonly used: pattern-matching methods identify predefined instruction patterns to extract the target addresses, while analytical methods try to compute the set of target addresses using a general value-Analysis. We tested the abstract execution method of the SWEET tool as a value analysis for switch-case code. SWEET is here used as a plugin to the Bound-T tool: thus our work can also be seen as an experiment in modular tool design, where a general value-Analysis tool is used to aid the CFG construction in a WCET analysis tool. We find that the abstract-execution analysis works at least as well as the switch-case analyses in Bound-T itself, which are mostly based on pattern-matching. However, there are still some weaknesses: the abstract domains available in SWEET are not well suited to representing sets of DTC target addresses, which are small but sparse and irregular. Also, in some cases the abstract-execution analysis fails because the used domain is not relational, that is, does not model arithmetic relationships between the values of different variables. Future work will be directed towards the design of abstract domains eliminating these weaknesses.

Keywords
Dynamic control flow, Indexed branch, Machine-code analysis, WCET analysis, Data flow analysis, Embedded systems, Flow graphs, Pattern matching, Value engineering, Abstract executions, Analysis approach, Analytical method, Control flow graphs, Dynamic controls, Machine codes, Codes (symbols)
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-28721 (URN)10.4230/OASIcs.WCET.2015.85 (DOI)2-s2.0-84938521325 (Scopus ID)9783939897958 (ISBN)
Conference
15th International Workshop on Worst-Case Execution Time Analysis, WCET 2015, 7 July 2015
Available from: 2015-08-21 Created: 2015-08-21 Last updated: 2015-08-21Bibliographically approved
Källberg, L. & Larsson, T. B. (2015). Faster Approximation of Minimum Enclosing Balls by Distance Filtering and GPU Parallelization. Journal of Graphics Tools, 17(3), 67-84
Open this publication in new window or tab >>Faster Approximation of Minimum Enclosing Balls by Distance Filtering and GPU Parallelization
2015 (English)In: Journal of Graphics Tools, ISSN 2165-3488, Vol. 17, no 3, p. 67-84Article in journal (Refereed) Published
Abstract [en]

Minimum enclosing balls are used extensively to speed up multidimensional data processing in, e.g., machine learning, spatial databases, and computer graphics. We present a case study of several acceleration techniques that are applicable in enclosing ball algorithms based on repeated farthest-point queries. Two different distance filtering heuristics are proposed aiming at reducing the cost of the farthest-point queries as much as possible by exploiting lower and upper distance bounds. Furthermore, auto-tunable GPU solutions using CUDA are developed for both low- and high-dimensional cases. Empirical tests apply these techniques to two recent algorithms and demonstrate substantial speedups of the ball computations. Our results also indicate that a combination of the approaches has the potential to give further performance improvements.

Place, publisher, year, edition, pages
United States: Taylor & Francis, 2015
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-29243 (URN)10.1080/2165347X.2015.1037471 (DOI)
Projects
RALF3 - Software for Embedded High Performance Architectures
Available from: 2015-10-06 Created: 2015-09-29 Last updated: 2018-02-23Bibliographically approved
Källberg, L. & Larsson, T. B. (2014). Accelerated Computation of Minimum Enclosing Balls by GPU Parallelization and Distance Filtering. In: Proceedings of SIGRAD 2014 SIGRAD 2014: . Paper presented at SIGRAD 2014 SIGRAD 2014, 12 Jun 2014, Gothenburg, Sweden.
Open this publication in new window or tab >>Accelerated Computation of Minimum Enclosing Balls by GPU Parallelization and Distance Filtering
2014 (English)In: Proceedings of SIGRAD 2014 SIGRAD 2014, 2014Conference paper, Published paper (Refereed)
Abstract [en]

Minimum enclosing balls are used extensively to speed up multidimensional data processing in, e.g., machine learning, spatial databases, and computer graphics. We present a case study of several acceleration techniques that are applicable in enclosing ball algorithms based on repeated farthest-point queries. Parallel GPU solutions using CUDA are developed for both low- and high-dimensional cases. Furthermore, two different distance filtering heuristics are proposed aiming at reducing the cost of the farthest-point queries as much as possible by exploiting lower and upper distance bounds. Empirical tests show encouraging results. Compared to a sequential CPU version of the algorithm, the GPU parallelization runs up to 11 times faster. When applying the distance filtering techniques, further speedups are observed.

National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-26452 (URN)
Conference
SIGRAD 2014 SIGRAD 2014, 12 Jun 2014, Gothenburg, Sweden
Projects
RALF3 - Software for Embedded High Performance Architectures
Available from: 2014-10-31 Created: 2014-10-31 Last updated: 2018-02-22Bibliographically approved
Holsti, N., Gustafsson, J., Källberg, L. & Lisper, B. (2014). Combining Bound-T and SWEET to Analyse Dynamic Control Flow in Machine-Code Programs. Västerås, Sweden: Mälardalen Real-Time Research Centre, Mälardalen University
Open this publication in new window or tab >>Combining Bound-T and SWEET to Analyse Dynamic Control Flow in Machine-Code Programs
2014 (English)Report (Other academic)
Abstract [en]

The first step in the static analysis of a machine-code subprogram is to construct the control-flow graph. The typical method is to start from the known entry-point address of the subprogram, retrieve and decode the instruction at that point, insert it in the control-flow graph, determine the address(es) of the successor instruction(s) from the known semantics of the instruction set, and repeat the process for the successor instructions until all reachable instructions and control flows are discovered and entered in the control-flow graph. This procedure is straight-forward as long as the successors of each instruction are statically defined. However, most instruction sets allow for dynamically determined successors, usually by allowing the target address of a branch to be set by the run-time, dynamically computed value of a register. We call such instructions dynamic branches. To construct the control-flow graph, a static analyser must somehow discover the possible values of the target address, in other words, it must perform a value-analysis of the program. This is problematic for two reasons. Firstly, the value-analysis must be applied to an incomplete control-flow graph, which means that the value-analysis will also be incomplete, and may be an under-estimate of the value-set for the complete subprogram. Second, value-analyses typically over-estimate the value-set, which means that the set of possible target addresses of the dynamic branch may be over-estimated, which leads to an over-estimate of the control- flow graph. The over-estimated graph may include instructions and control flows that do not really belong to the subprogram under analysis. This report describes how we connected two analysis tools, Bound-T from Tidorum Ltd and SWEET from Mälardalen University, so that the powerful "abstract execution" analysis in SWEET can be invoked from Bound-T to resolve dynamic branches that Bound-T finds in the machine-code program under analysis. The program-representation language ALF, defined by the SWEET group, is used as an interface language between Bound-T and SWEET. We evaluate the combined analysis on example programs, including both synthetic and real ones, and conclude that the approach is promising but not yet a great improvement. Bound-T contains several special-case analyses for dynamic branches, which currently perform slightly better than SWEET's more general analyses. However, planned improvements to SWEET may result in an analysis which is at least as powerful but more robust than the analyses in Bound-T alone.

Place, publisher, year, edition, pages
Västerås, Sweden: Mälardalen Real-Time Research Centre, Mälardalen University, 2014
Series
MRTC Reports, ISSN 1404-3041
Keywords
Worst-case execution-time analysis, WCET, dynamic control flow, indexed branch
National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-28123 (URN)MDH-MRTC-299/2014-1-SE (ISRN)
Projects
WCET - Worst-Case Execution Time analysisAPARTS - Advanced Program Analysis for Real-Time Systems
Available from: 2015-06-08 Created: 2015-06-08 Last updated: 2015-06-08Bibliographically approved
Källberg, L. & Larsson, T. B. (2014). Improved pruning of large data sets for the minimum enclosing ball problem. Graphical Models, 76(6), 609-619
Open this publication in new window or tab >>Improved pruning of large data sets for the minimum enclosing ball problem
2014 (English)In: Graphical Models, ISSN 1524-0703, E-ISSN 1524-0711, Vol. 76, no 6, p. 609-619Article in journal (Refereed) Published
Abstract [en]

Minimum enclosing ball algorithms are studied extensively as a tool in approximation and classification of multidimensional data. We present pruning techniques that can accelerate several existing algorithms by continuously removing interior points from the input. By recognizing a key property shared by these algorithms, we derive tighter bounds than have previously been presented, resulting in twice the effect on performance. Furthermore, only minor modifications are required to incorporate the pruning procedure. The presented bounds are independent of the dimension, and empirical evidence shows that the pruning procedure remains effective in dimensions up to at least 200. In some cases, performance improvements of two orders of magnitude are observed for large data sets. © 2014 Elsevier Inc. All rights reserved.

Keywords
Acceleration techniques, Bounding spheres, Culling, Minimum enclosing balls, Pruning
National Category
Computer and Information Sciences Computer Sciences
Identifiers
urn:nbn:se:mdh:diva-25799 (URN)10.1016/j.gmod.2014.06.003 (DOI)000347018500050 ()2-s2.0-84905501009 (Scopus ID)
Available from: 2014-08-20 Created: 2014-08-20 Last updated: 2018-02-23Bibliographically approved
Larsson, T. B. & Källberg, L. (2013). Fast and robust approximation of smallest enclosing balls in arbitrary dimensions. Computer graphics forum (Print), 32(5), 93-101
Open this publication in new window or tab >>Fast and robust approximation of smallest enclosing balls in arbitrary dimensions
2013 (English)In: Computer graphics forum (Print), ISSN 0167-7055, E-ISSN 1467-8659, Vol. 32, no 5, p. 93-101Article in journal (Refereed) Published
Abstract [en]

In this paper, an algorithm is introduced that computes an arbitrarily fine approximation of the smallest enclosing ball of a point set in any dimension. This operation is important in, for example, classification, clustering, and data mining. The algorithm is very simple to implement, gives reliable results, and gracefully handles large problem instances in low and high dimensions, as confirmed by both theoretical arguments and empirical evaluation. For example, using a CPU with eight cores, it takes less than two seconds to compute a 1.001-approximation of the smallest enclosing ball of one million points uniformly distributed in a hypercube in dimension 200. Furthermore, the presented approach extends to a more general class of input objects, such as ball sets. 

Keywords
Arbitrary dimension, Empirical evaluations, General class, High dimensions, Large problems, Reliable results, Robust approximations, Theoretical arguments, Computer graphics, Approximation algorithms
National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-21268 (URN)10.1111/cgf.12176 (DOI)000323204000010 ()2-s2.0-84882797817 (Scopus ID)
Available from: 2013-09-06 Created: 2013-09-06 Last updated: 2018-02-23Bibliographically approved
Larsson, T. & Källberg, L. (2011). Fast Computation of Tight-Fitting Oriented Bounding Boxes. In: Game Engine Gems 2. A K Peters/CRC Press
Open this publication in new window or tab >>Fast Computation of Tight-Fitting Oriented Bounding Boxes
2011 (English)In: Game Engine Gems 2, A K Peters/CRC Press , 2011Chapter in book (Other academic)
Place, publisher, year, edition, pages
A K Peters/CRC Press, 2011
Identifiers
urn:nbn:se:mdh:diva-10903 (URN)9781568814377 (ISBN)
Available from: 2010-11-10 Created: 2010-11-10 Last updated: 2013-12-03Bibliographically approved
Källberg, L. & Larsson, T. (2010). Ray Tracing using Hierarchies of Slab Cut Balls. In: Eurographics 2010, short papers: . Paper presented at Eurographics 2010 (pp. 69-72).
Open this publication in new window or tab >>Ray Tracing using Hierarchies of Slab Cut Balls
2010 (English)In: Eurographics 2010, short papers, 2010, p. 69-72Conference paper, Published paper (Refereed)
Abstract [en]

In this paper, bounding volume trees of slab cut balls are evaluated and compared with other types of trees for raytracing. A novel tree construction algorithm is proposed, which utilizes a relative orientation heuristic betweenparent and child nodes. Also, a fast intersection test between a ray and a slab cut ball is presented. Experimentalcomparisons to other commonly used enclosing shapes reveal that the slab cut ball is attractive. In particular, theslab cut ball outperforms the sphere in all tested scenes with speed-up factors between 1 and 4.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-9343 (URN)
Conference
Eurographics 2010
Available from: 2010-03-03 Created: 2010-03-03 Last updated: 2013-12-03Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-6969-6793

Search in DiVA

Show all publications