Scientific GPU Computing with Google's Go Language

Video thumbnail (Frame 0) Video thumbnail (Frame 6713) Video thumbnail (Frame 10345) Video thumbnail (Frame 11578) Video thumbnail (Frame 22288) Video thumbnail (Frame 23079) Video thumbnail (Frame 23872) Video thumbnail (Frame 24323) Video thumbnail (Frame 26621)
Video in TIB AV-Portal: Scientific GPU Computing with Google's Go Language

Formal Metadata

Scientific GPU Computing with Google's Go Language
A Novel Approach to Highly Reliable CUDA HPC
Title of Series
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
We show general purpose GPU computing using Google's Go language together with minimal use of Nvidia CUDA. This unusual match can perform very reliable, high-performance scientific computation using surprisingly brief and clear code. GPU-accelerated scientific computing is gaining popularity because of its high performance. Often, nvidia's CUDA toolkit is used together with C/C++. Although undeniably popular, subtle or hard-to-debug issues commonly pop-up. This is especially problematic in a research context where correctness should be the main priority and where we don't want to spend most of our time with low-level debugging. In this talk we present our uncommon and quite novel approach of pairing google's Go language on the CPU with minimal CUDA on the GPU. In this way we developed an open-source (GPLv3) GPU-accelerated simulation package using about 5x less code than a version using C++ and python, and running about 100x faster than a state-of-the art CPU implementation. The Go+CUDA combination is highly type-safe and memory safe, concurrent (GPU-CPU parallelism) and relieves the programmer from most of the GPU's typical memory management and synchronization issues. Outline * Brief introduction to Go and CUDA * Our Go GPU libraries (BSD-licensed) * Nearly overhead-free and type-safe GPU memory management * Automated unit testing of GPU code * Brief demonstration our open-source software simulating a byte being written by a hard disk head. (shown live in an HTML5 web GUI, provided by an HTTP server embedded in the simulation software) Intended for researchers using scientific GPU computing. Illustrates how Go can be used in conjunction with CUDA. What to expect/not to expect from Go+CUDA.
Axiom of choice Scheduling (computing) Implementation State of matter Source code Mereology Rule of inference Computer programming Usability Metropolitan area network Form (programming) Physical system Programming language Dialect Expression Electronic mailing list Bit Thermal expansion Line (geometry) Benchmark Numerical analysis Computer animation Personal digital assistant Video game Quicksort Library (computing)
Point (geometry) State observer Programming language Graph (mathematics) Multiplication sign Direction (geometry) 1 (number) Set (mathematics) Computer simulation Distance Mereology Rule of inference Computer programming Revision control Uniform resource locator Computer animation Right angle Writing Library (computing)
Point (geometry) Functional programming Server (computing) State of matter Multiplication sign Real number View (database) Rule of inference Computer programming Theory Web 2.0 Revision control Mathematics Root Semiconductor memory Speicherbereinigung Area Programming language Simulation Theory of relativity Weight Computer simulation Line (geometry) Variable (mathematics) Arithmetic mean Computer animation Personal digital assistant Universe (mathematics) Right angle Musical ensemble Resultant Library (computing)
Computer animation Mereology
Computer animation Right angle Food energy
Computer virus Randomization Group action Dialect Multiplication sign Source code Sound effect Line (geometry) Function (mathematics) Arithmetic mean Computer animation Thermal radiation Forest Right angle Quicksort
you know you go right from the the the the the the the the the the useful and that the world is the the the and we also have a look at and so I the case and the how well is most are the rules of the world and I just final experience in where I think that the people the of the region of the have been used in the parties and this is the same thing in a life of ease of use of the is part of the soul and augmented the some of the of the things that's kind of the size of the of the of the of the of the host and the workers and you know the the the the the the you what the the the state of the system and there is you right right with the use of solar implementation for all this I will it was only around the lines and the more of the same thing in the list most gripping language and they require the real world you can use so I'm going to read you this choice of the of prior the of the of the the the goal is to be in the form of the in the solar strength and this and so it was 3 scenarios that you were born of I was going to the library of the confined the and maybe a little bit over to my knowledge so that whilst that the language of so this you expect to work whilst the the same target article actually received something features in the summer and this is the 2 year program the program just because of the the program and we should not group and this was actually of all of the things in the library in the to add to this the of fuel you might be interested in or if you want to to use of the genes that have a lot of this expression is not something that you would start to and the numbers like that of the and the special things like this that and in the end is you know a lot of numbers like there's lots of room for expansion you just provides them over the sort of missing features of the library and a lot of it was OK and so what is the 1st thing that comes into the world and how well the war and that's the most people probably have this is going to be a lot of things that are just some of the things giving the best of those built in that thing that so when you write a benchmark of the research work and I just sort of uh and also to the man who was once mentioned in the Schedule source of all regions for much more something you probably 1 of the things you want to
get with and all of those bonds in which the value of some of the British this is the kind of thing that you also have a distance and use of rule for the ability and the gist of what it called graph of the program that provide and it shows how much time is spent in the function and so they are not going to violate your waste time and again for sure and musician the rest of the world is so we the the the the the the the the coding other languages so this is the model of each of these works and she had a pretty good too and we call this point lies in the very liberal rules around what in the world for which you sorry about checking of observations of tolerance against the set of relationships so so that it was possible for you it's not going to write this up so it will so just get because the OK so proceeding through this quite a lot of the stuff that we can build things and get to the point of the so that's the 2nd part of the how about all of the the world and that means that you are the world in which so you can do this on the part of the special problems in 2 years and you believe that the writings of there's no special those of you who have just like what it is an example all the library past work in the of this so
that this is now all them just the right of you and so it is with this the new year I don't want to write this all the time and it's also versions the from the direction so so what are the ones that you think it would in use in so if we want to be identified and you yourself I'm going to the point is that it was part of the course of the URL of the in the year and it was used for this right that's because of the same thing about it the program and no 1
nice thing is also the benthic solariums look after the boys who clusters so you're always in the school of ideas used the OK so so the policy is 1 thing but they're also shared memory you so that the problem because of the you know so that you need to worry about is and always there are some of the things that you will never get that the garbage collector something that's not a and you get better because we you have a point with a very nice and we also know that libraries use the instructions for the data that we see the world in which we understand how so a and that the it all right so that is the following the rules of the theory of the people there's about sorry that you have the right insula results by the people on the other side can also be and the provisions of the will manage to use it for time of the findings from because of the genes that program and so things that they did not experience of reading it the and you have to do our real world example might think that this is the 1st thing to go over the next hour of features and the side of the the road which you got relations just in the states the and also we have a lot to and that is why we have to remain responsive even though there you're in to the center of the and universe so the out of the air in the program language and always the because by the time of this writing so 1st of all I know that a lot of that's always the state you have and then that's it all work with that so expensive version of the To this end it easy to share the gold standard so that the to people in channel is that what you it's to you there from 1 side to the other side and this applies prior the point that it is necessary good arrangement in a lot of a lot of questions rely on it in the end just before and just where the data from this right and that the rich and the stock this function in the background and this is what you would like to understand that the and that was the point of view it's not just the way you would be nice the so you'll have a solution that is just a handful of lines and the title of the year so the the right of these again can expect you to based usage of journals and other languages with the intention of the whole that's and so on and so this because of music of channels in the of quite a few of these areas of the mental model is close to that the and a lot of but which in the case of the whole thing was which is over over channels and the check that there's something general the value of the channel and of course you know there's something about the possible that can and this is something that is very useful resource for is interactive and that they so I'm assuming that the user can click on buttons and change variable values while the simulation of the were have always the the rest of the paper is qualified and modified variable while it was here that you have to do this they and have here's the area is always together relations that our web server I'll change of the of that which was chaired by function so I will have to closes the of and I was so that the function with over here you don't have the means and the weights of the creation of a lot of work this was the sure that they're sending this variable and what you're not actually so it's a very simple way to the the root of the best to the of looking to predict what a lot of these variables in this way solutions because we feel the same and so that the final and love them if you somehow still managed to get the anywhere in in the in the eyes of some of it I got it all has also been raised to the told like this if you know come in to the right of course the on so if you compare it to you it turned out that the my opinion to the the so just to give you an idea what can which only that a lot of people in the in the the and there's a on the other
results of and so the associated with that this is the 1st part of work was
and so now this is the beginning of the of the
of the of the of the energy and this is this so the question how would you use the right so I think that the use of the words and so the and in this case and they're really really hard to the
useful piece of work that is likely to start during the Vietnam the and the and here are some right that's a good thing you might be the of the parties so
white you know the plethora of any 1 of the things was young and then you although the use of of the of the of the and it is the last thing I was going to change the value of this is the right way without the risk of radiation so let's just the lines of the fact that less of the world which that which is the the the the question of all the things you can do it using the in so there are a lot of work and the and the history of the world and and the future of the over 100 and practice you can also write this is what you would have this and also the same way as and the
time so the this is due to fewer the right of this sort of thing that the rise of the world that you would like to run for good just because the right of random forest so that it works with going so little and you could that there is those discussed but it needs to be related to the the outputs of of pupil of violence as a vector and that the world is going to be the source of the text and announced that reduces the additional and this is the wild and wireless without the use of the URI to you by the end of the year uh of is so that this is this is actually going you by the actions regions of the years of work in this the and they just the 3 of the reason for the effect of the death of the virus the meaning of this so what is it that you have