gpgpu - Options for GPU computing in Julia -


i considering buying gpu card experiment gpu computing in julia. see there 2 options: nvidia or amd chipsets.

my question is: there recommended option use julia? new gpu computing, focus more on ease of use on performance, can imagine current julia packages serve gpu interfaces determine answer.

i use windows 7 based system. appreciated.

a few points:

1) arrayfire pretty easy use gpu platform julia interface (https://github.com/juliagpu/arrayfire.jl). works both nvidia , amd gpus.

2) if want things go beyond in arrayfire, there more support nvidia cards through cuda c language proprietary nvidia. can see list of gpu packages julia here. you'll see, many more of them cuda opencl, c version works writing kernels work on either nvidia or amd. but, know if go route, you'll need start writing own kernels in c.

in opinion, cuda c has convenient automation features automatically handle aspects of distributing work amongst cores in efficient way. cuda c seems more prevalently used in scientific computing.

but, don't think there's can't done in open cl , it's not more difficult learn how things that. furthermore, opencl has advantage of being applicable wide variety of high performance platforms beyond gpus (e.g. programming on intel's xeon phi).

3) should pay careful attention whether need working in single or in double precision floating point operations. makes big difference when choosing gpu either manufacturer. instance, nvidia has gpus specially designed double precision operations (mainly tesla line, titan black). if choose nvidia gpu other this, you'll 1/32 performance double precision single. amd chips tend bit less specialized, performing more comparably between single , double precision. presume there use cases nvidia cards better value , others amd more cost effective.

4) gpus can quite pricey (though there pretty used options available on ebay, etc.). joy can (certain) computations in times orders of magnitude faster cpus. but, advantage, you're going spending thousands of dollars minimum (in particular if need buy new system support powerful gpu, since many basic consumer-grade computers don't support them well). if @ possible, advantage trial work first figure out need. instance, nvidia has test program can apply here. i've never used it, can't 1 way or other. amd has similar. alternatively, if you're affiliated company or research institution has gpus available, or if have friend let ssh computer , try them out, helpful in figuring out need ahead of time.

5) when looking @ different cards, you'll want pay careful attention not how many flops per dollar deliver (in desired precision level) things how gpu ram you'll need, , potentially issues of how efficiently support communication between multiple gpus , between gpu , cpu. far know, gold standard these gpu-gpu , cpu-cpu calculations new nvidia p100 card. super, super expensive though , right available part of $100k + system (that has 8 of them) bought nvidia. towards end of year, p100's should available other manufacturers. can incredible things in terms of speed of transfer between cpu , gpu, there's hefty price pay that, , won't justify price if you're looking flops per dollar.


Comments

Popular posts from this blog

sequelize.js - Sequelize group by with association includes id -

android - Robolectric "INTERNET permission is required" -

java - Android raising EPERM (Operation not permitted) when attempting to send UDP packet after network connection -