5,309 research outputs found

    Algorithmic patterns for H\mathcal{H}-matrices on many-core processors

    Get PDF
    In this work, we consider the reformulation of hierarchical (H\mathcal{H}) matrix algorithms for many-core processors with a model implementation on graphics processing units (GPUs). H\mathcal{H} matrices approximate specific dense matrices, e.g., from discretized integral equations or kernel ridge regression, leading to log-linear time complexity in dense matrix-vector products. The parallelization of H\mathcal{H} matrix operations on many-core processors is difficult due to the complex nature of the underlying algorithms. While previous algorithmic advances for many-core hardware focused on accelerating existing H\mathcal{H} matrix CPU implementations by many-core processors, we here aim at totally relying on that processor type. As main contribution, we introduce the necessary parallel algorithmic patterns allowing to map the full H\mathcal{H} matrix construction and the fast matrix-vector product to many-core hardware. Here, crucial ingredients are space filling curves, parallel tree traversal and batching of linear algebra operations. The resulting model GPU implementation hmglib is the, to the best of the authors knowledge, first entirely GPU-based Open Source H\mathcal{H} matrix library of this kind. We conclude this work by an in-depth performance analysis and a comparative performance study against a standard H\mathcal{H} matrix library, highlighting profound speedups of our many-core parallel approach

    Competitive two-agent scheduling with deteriorating jobs on a single parallel-batching machine

    Get PDF
    We consider a scheduling problem in which the jobs are generated by two agents and have time-dependent proportional-linear deteriorating processing times. The two agents compete for a common single batching machine to process their jobs, and each agent has its own criterion to optimize. The jobs may have identical or different release dates. The batching machine can process several jobs simultaneously as a batch and the processing time of a batch is equal to the longest of the job processing times in the batch. The problem is to determine a schedule for processing the jobs such that the objective of one agent is minimized, while the objective of the other agent is maintained under a fixed value. For the unbounded model, we consider various combinations of regular objectives on the basis of the compatibility of the two agents. For the bounded model, we consider two different objectives for incompatible and compatible agents: minimizing the makespan of one agent subject to an upper bound on the makespan of the other agent and minimizing the number of tardy jobs of one agent subject to an upper bound on the number of tardy jobs of the other agent. We analyze the computational complexity of various problems by either demonstrating that the problem is intractable or providing an efficient exact algorithm for the problem. Moreover, for certain problems that are shown to be intractable, we provide efficient algorithms for certain special cases
    • …
    corecore