{"id":5909,"date":"2011-10-15T22:33:41","date_gmt":"2011-10-15T19:33:41","guid":{"rendered":"http:\/\/hgpu.org\/?p=5909"},"modified":"2011-10-15T22:33:41","modified_gmt":"2011-10-15T19:33:41","slug":"towards-utilizing-remote-gpus-for-cuda-program-execution","status":"publish","type":"post","link":"https:\/\/hgpu.org\/?p=5909","title":{"rendered":"Towards Utilizing Remote GPUs for CUDA Program Execution"},"content":{"rendered":"<p>The modern CPU has been designed to accelerate serial processing as much as possible. Recently, GPUs have been exploited to solve large parallelizable problems. As fast as a GPU is for general purpose massively parallel computing, some problems require an even larger scale of parallelism and pipelining. However, it has been difficult to scale algorithms beyond a local computer and distribute workloads among multiple computers housing GPUs. This paper proposes a Remote Kernel Launch (RKL) approach to transfer the kernel parts from a local machine to remote GPU servers. A lexical analyzer is used to identify and extract the kernels from local programs. The extracted kernel can then be distributed and executed on remote GPUs. A dynamic mapping scheme is explored to balance workloads among nodes. This approach allows a program to run optimally on a range of hardware configurations by eliminating the need to program for a specific environment. The experimental results demonstrate the effectiveness of RKL.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The modern CPU has been designed to accelerate serial processing as much as possible. Recently, GPUs have been exploited to solve large parallelizable problems. As fast as a GPU is for general purpose massively parallel computing, some problems require an even larger scale of parallelism and pipelining. However, it has been difficult to scale algorithms [&hellip;]<\/p>\n","protected":false},"author":351,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[36,11,89,3],"tags":[1787,1782,14,106,948,20],"class_list":["post-5909","post","type-post","status-publish","format-standard","hentry","category-algorithms","category-computer-science","category-nvidia-cuda","category-paper","tag-algorithms","tag-computer-science","tag-cuda","tag-gpu-cluster","tag-networks","tag-nvidia"],"views":2336,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/5909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/users\/351"}],"replies":[{"embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5909"}],"version-history":[{"count":0,"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/5909\/revisions"}],"wp:attachment":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}