Browsing by Subject "Application programming interfaces (API)"
Now showing 1 - 4 of 4
Results Per Page
Sort Options
Item Open Access Accelerating the HyperLogLog cardinality estimation algorithm(Hindawi Limited, 2017) Bozkus, C.; Fraguela, B. B.In recent years, vast amounts of data of different kinds, from pictures and videos from our cameras to software logs from sensor networks and Internet routers operating day and night, are being generated. This has led to new big data problems, which require new algorithms to handle these large volumes of data and as a result are very computationally demanding because of the volumes to process. In this paper, we parallelize one of these new algorithms, namely, the HyperLogLog algorithm, which estimates the number of different items in a large data set with minimal memory usage, as it lowers the typical memory usage of this type of calculation from O(n) to O(1). We have implemented parallelizations based on OpenMP and OpenCL and evaluated them in a standard multicore system, an Intel Xeon Phi, and two GPUs from different vendors. The results obtained in our experiments, in which we reach a speedup of 88.6 with respect to an optimized sequential implementation, are very positive, particularly taking into account the need to run this kind of algorithm on large amounts of data. © 2017 Cem Bozkus and Basilio B. Fraguela.Item Open Access AutopaR: An Automatic Parallelization Tool for Recursive Calls(IEEE, 2014-09) Kalender, Mert Emin; Mergenci, Cem; Öztürk, ÖzcanManycore systems are becoming more and more powerful with the integration of hundreds of cores on a single chip. However, writing parallel programs on these manycore systems has become a problem since the amount of available parallel tools and applications are limited. Although exploiting parallelism in software is possible, it requires different design decisions, significant programmer effort and is error prone. Different libraries and tools try to make the transition to parallelism easier, however there is no concrete system to make it transparent to software developer. To this end, our proposed tool is a step forward to improve the current state. Our approach, Autopar, specifically aims at achieving automatic parallelization of recursive applications using static program analysis. It first decides on the recursive functions of a given program. Then, it performs analysis and collects information about these recursive functions. Our analysis module automatically collects program information without requiring any modification in the program design or developer involvement. Finally, it achieves automatic parallelization by introducing necessary OpenMP pragmas in appropriate places in the application. © 2014 IEEE.Item Open Access BilKristal 4.0: A tool for crystal parameters extraction and defect quantification(Elsevier, 2015) Okuyan, E.; Okuyan, C.In this paper, we present a revised version of BilKristal 3.0 tool. Raycast screenshot functionality is added to provide improved visual analysis. We added atomic distance analysis functionality to assess crystalline defects. We improved visualization capabilities by adding high level cut function definitions. Discovered bugs are fixed and small performance optimizations are made. © 2015 Elsevier B.V. All rights reserved.Item Open Access A tool for pattern information extraction and defect quantification from crystal structures(Elsevier, 2015) Okuyan, E.; Okuyan, E.In this paper, we present a revised version of BilKristal 2.0 tool. We added defect quantification functionality to assess crystalline defects. We improved visualization capabilities by adding transparency support and runtime visibility sorting. Discovered bugs are fixed and small performance optimizations are made. New version program summary Program title: BilKristal 3.0 Catalogue identifier: ADYU-v3-0 Program summary URL:http://cpc.cs.qub.ac.uk/summaries/ADYU-v3-0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 1868 923 No. of bytes in distributed program, including test data, etc.: 8854 507 Distribution format: tar.gz Programming language: C, C++, Microsoft.NET Framework 2.0 and OpenGL Libraries. Computer: Personal Computers with Windows operating system. Operating system: Windows XP or higher. RAM: 20-60 Megabytes. Classification: 8. Catalogue identifier of previous version: ADYU-v2-0 Journal reference of previous version: Comput. Phys. Comm. 185 (2014) 442 External routines: Microsoft.NET Framework 2.0. For the visualization tool, graphics card driver should also support OpenGL. Does the new version supersede the previous version?: Yes Nature of problem: Determining the crystal structure parameters of a material is a very important issue in crystallography. Knowing the crystal structure parameters helps the understanding of the physical behavior of material. For complex structures, particularly for materials which also contain local symmetry as well as global symmetry, obtaining crystal parameters can be very hard. Solution method: The tool extracts crystal parameters such as primitive vectors, basis vectors and identifies the space group from atomic coordinates of crystal structures. Reasons for new version: Additional features, Compatibility issues with newer development environments, Performance optimizations, Minor bug corrections. Summary of revisions:Defect quantification capability is added. The tool can process the imperfect crystal structures, finds and quantifies the crystalline defects. The tool is capable of finding positional defects, vacancy defects, substitutional impurities and interstitial impurities. The algorithms presented in [3] are used for defect quantification implementation.Transparency support is added to the visualization tool. Users are now allowed to set the transparency of each atom type individually.Runtime visibility sorting functionality is added to facilitate correct transparency computations.Visual Studio 2012 support is added. Visual Studio 2012 specific project files are created and the project is tested with this development environment.In visualization tool, an unused log file was created. This issue is corrected.In visualization tool, some OpenGL calls which are executed at every draw are changed to be executed only when they are needed, improving the visualization performance.Restrictions: Assumptions are explained in [1,2]. However, none of them can be considered as a restriction onto the complexity of the problem. Running time: The tool was able to process input files with more than a million atoms in less than 20 s on a PC with an Athlon quad-core CPU at 3.2 GHz using the default parameter values. References: [1] Erhan Okuyan, Ugur Güdükbay, Oguz Gülseren, Pattern information extraction from crystal structures, Comput. Phys. Comm. 176 (2007) 486. [2] Erhan Okuyan, Ugur Güdükbay, BilKristal 2.0: A tool for pattern information extraction from crystal structures, Comput. Phys. Comm. 185 (2014) 442. [3] Erhan Okuyan, Ugur Güdükbay, Ceyhun Bulutay, Karl-Heinz Heinig, MaterialVis: material visualization tool using direct volume and surface rendering techniques, J. Mol. Graphics Model. 50201450-60. © 2014 The Authors.