35 research outputs found

    Hands-on Quantum Programming Labs for EECS Students

    Full text link
    This report presents a practical approach to teaching quantum computing to Electrical Engineering & Computer Science (EECS) students through dedicated hands-on programming labs. The labs cover a diverse range of topics, encompassing fundamental elements, such as entanglement, quantum gates and circuits, as well as advanced algorithms including Quantum Key Distribution, Deutsch and Deutsch-Jozsa Algorithms, Simon's algorithm, and Grover's algorithm. As educators, we aim to share our teaching insights and resources with fellow instructors in the field. The full lab handouts and program templates are provided for interested instructors. Furthermore, the report elucidates the rationale behind the design of each experiment, enabling a deeper understanding of quantum computing.Comment: 68 pages, 29 figures; several typos correcte

    An Efficient Burst-Arrival and Batch- Departure Algoriths for Round-Robin Service

    Get PDF

    Design and Implementation of a Threads Library

    Get PDF

    Tuning the Performance of a Computational Persistent Homology Package

    Get PDF
    In recent years, persistent homology has become an attractive method for data analysis. It captures topological features, such as connected components, holes, and voids from point cloud data and summarizes the way in which these features appear and disappear in a filtration sequence. In this project, we focus on improving the performanceof Eirene, a computational package for persistent homology. Eirene is a 5000-line open-source software library implemented in the dynamic programming language Julia. We use the Julia profiling tools to identify performance bottlenecks and develop novel methods to manage them, including the parallelization of some time-consuming functions on multicore/manycore hardware. Empirical results show that performance can be greatly improved

    Experiences with Parallelizing a Distributed Database System

    Get PDF

    Performance Enhancement of a Computational Persistent Homology Package

    Get PDF
    In recent years, persistent homology has become an attractive method for data analysis. It captures topological features, such as connected components, holes, voids, etc., from a point cloud by finding out when these features appear and disappear in the filtration sequence. In this project, we focus on improving the performance of Eirene, a fancy computational persistent homology package. Eirene is a 5000-line opensource software implemented by using the dynamic programming language Julia. We use the Julia profiling tools to identify the performance bottlenecks and develop different methods to manage the bottlenecks, including the parallelization of some time-consuming functions on the multicore/manycore hardware. The empirical results show that the performance can be greatly improved

    Experiences with Implementing Parallel Discrete-event Simulation on GPU

    Get PDF
    Modern graphics processing units (GPUs) offer much more computational power than recent CPUs by providing a vast number of simple, data-parallel, multithreaded cores. In this study, we focus on the use of a GPU to perform parallel discrete-event simulation. Our approach is to use a modified service time distribution function to allow more independent events to be processed in parallel. The implementation issues and alternative strategies will be discussed in detail. We describe and compare our experience and results in using Thrust and CUB, two open-source parallel algorithms libraries which resemble the C++ Standard Template Library, to build our tool. The experimental results show that our implementation can be two orders of magnitude faster than the sequential simulation for large-scale simulation models

    An Implementation of a Dynamic Partitioning Scheme for Web Pages

    Get PDF
    In this paper, we introduce a method for the dynamic partitioning of web pages. The algorithm is first illustrated by manually partitioning a web page, then the implementation of the algorithm using PHP is described. The method results in a partitioned web page consisting of small pieces or fragments which can be retrieved concurrently using AJAX or similar technology. The goal of this research is to increase performance of web page delivery by decreasing the latency of web page retrieval

    Multithreading in distributed-memory systems and simulation: Design, implementation, and experiments

    No full text
    This dissertation focuses on design and implementation issues of a multithreaded parallel programming paradigm for distributed-memory systems. One of the features of the multithreaded model is a thread migration capability, primarily used to balance loads across processors and increase data locality of reference. We have implemented two prototype multithreaded packages: one is realized through a set of functions containing minimal assembly code and another is based mainly on compile-time program transformations. Since the latter can transform a thread\u27s physical states into logical forms, it makes thread migration in heterogeneous distributed environments feasible. A process-oriented simulation system has been designed and implemented based on the threads libraries. We have proposed two efficient algorithms for the simulation of round-robin and processor sharing simulation disciplines. A novel mobile-process approach has also been proposed for parallelizing process-oriented simulation systems. This approach entails the migration of a requesting process with its timestamp to the remote site hosting the requested passive object. As a result, the migrant process can make subsequent accesses of the object locally and continue execution transparently, as if on its original host
    corecore