GithubHelp home page GithubHelp logo

clqueue's Introduction

	Implementing a Job Scheduler for GPUs in Opencl
	Graphics Processors can now be used as a computational plataform. The parallel nature of modern Graphics Processing Units added to the fact that almost every modern computer has a GPU make them very usefull on solving data-parallel problems. GPUs nowadays have more transistors then CPUs, most of those transistores are employed on more Single Instruction Multiple Data(SIMD) unites, while on CPUs almost two thirds of those transistors are used to implement cache memory and cache logic. 
	One of the challenges of most parallel implementations on GPUs is to minimize the communication between the CPU(host) and the GPU(device), because the IO overhead is too large. Another common problem is the need to minimize the idle time on the GPU working groups.
	One idea to solve this problems is to implement a job scheduler on the GPU. This way, as long as the scheduler data structure is not empty there will be no idle working groups, the number of kernel calls will also be lower, implying possibly in better run times.
	This project implements a queue on the GPU memory, each GPU working group will dequeue jobs from this queue and will process them. Hopefully, by implementing this job scalonator the number of kernel calls and the number of idle working groups will be lower and there will be a greater speed up. After the implementation, this data structure will be used on a GPU ray tracing engine.

clqueue's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.