The new rCUDA version is able to safely partition the memory of a GPU among applications

User Rating:  / 0
AddThis Social Bookmark Button
Change letter size:

The rCUDA Team is happy to disclose that the new rCUDA version (not released yet) is able to create isolated partitions of the GPU memory and provide each partition to an application. This can be done without having to use virtual machines or hypervisors. In this way, it is possible to split the memory of a GPU into a large amount of sealed partitions, each of them with different size. For instance, it is possible to partition a GPU with 32 GB into 29 partitions, where 1 partition is sized 8 GB, 2 partitions are sized 3 GB each, 10 partitions are sized 1 GB each, and 16 partitions have 0.5 GB. Another possibility is creating 128 partitions of 0.25 GB each partition. The amount of partitions is not limited at the same time that partition size can be any amount of memory. The only limitation is that the aggregation of partitions cannot exceed GPU memory. Moreover, it is also important to remark that when an application requests more memory than that available in its partition, the application gets an error, thus avoiding interfering with other applications served by that GPU. Notice that partitioning the GPU memory can be achieved without using a virtual machine hypervisor. In this way, this partitioning feature can be used in combination with Slurm in order to provide safe GPU scheduling. On the contrary, it can also be used with virtual machines in order to safely provide concurrent usage of a remote GPU among a large amount of virtual machines.

The new rCUDA version includes a new tool called rCUDA-smi

User Rating:  / 0
AddThis Social Bookmark Button
Change letter size:

The rCUDA Team is happy to announce that a new tool will be included in the new rCUDA release. The new tool, named 'rCUDA-smi' behaves similarly to the nvidia-smi tool. In this way, the rCUDA-smi tool provides information about the remote GPUs used with rCUDA. The picture shows an example of this new tool. It can be seen in the picture that 8 GPUs, located in 5 different nodes, are used with rCUDA. The first node (node1) provides a K40m GPU. The second node (node2) provides two K80 GPUs, as well as the third node. The fourth node provides two different GPUs: one K40m and one K20. Finally, the last node provides a K40m GPU. It can be seen in this example that the new rCUDA-smi provides the same information as the NVIDIA-smi tool except that remote GPUs are considered instead of the local GPUs as the NVIDIA-smi tool does.

rCUDA v18.10 successfully used in remote hands-on lab sessions in University of Malaga, Spain

User Rating:  / 0
AddThis Social Bookmark Button
Change letter size:

Due to COVID-19, Spanish universities had to switch from in-class to online teaching. In this context, lab works had to be organized in such a way that students could practice from home. In the subject "Signal and Multimedia Processors" of fourth year of the Degree in Electronic Systems Engineering (taught by the Electronic Technology Department of University of Malaga at the Higher Technical School of Telecommunications Engineering), students had to practice with CUDA. However, most students did not have the required GPU at home. In order to overcome this concern, the teacher, Francisco Javier González Cañete (fgc -(@)- uma -(.)- es), decided to install rCUDA in a server so that students could practice with CUDA without having a CUDA GPU at home. That is, students wrote their own CUDA programs in their home computer, compiled them at their computer, and executed them in a remote GPU by using rCUDA. In this way, the client side of rCUDA was used in the students' computers whereas the server side of rCUDA was running in a shared server providing service to all the students. Communication between home computers and the shared server was carried out across Internet. The experience has been a great success: students were able to practice with CUDA from home at the same time that rCUDA provided service without a single failure. Notice that each student had to devote at least 20 hours over several weeks in order to complete these lab works. The rCUDA Team is very happy about this successful experience. Additionally, given that the rCUDA Team is being much more demanding during the design and implementation of the new rCUDA version, we expect the new version of rCUDA to be very robust.

The new rCUDA release is closer

User Rating:  / 0
AddThis Social Bookmark Button
Change letter size:

The rCUDA Team is happy to inform that the development of the new rCUDA version is making good progress. By using the new rCUDA version, we have been able to reliably execute our entire set of almost 300 synthetic samples designed to stress specific features of CUDA in extreme conditions. Also, we have been able to reliably execute 88 of the samples included in the CUDA package, such as BiCGStab, BlackScholes, MonteCarloMultiGPU, etc. These tests have been conducted using one remote GPU and also, for those samples able to use more than one GPU, we have used two remote GPUs located either in one or in two different servers. Different GPU generations were used in the tests (K20, K40, K80, P100, V100). Moreover, some applications are starting to work with rCUDA. For instance, we have been able to execute the Gromacs application. We expect the list of applications to grow in the next weeks.

TensorFlow is starting to work with the new rCUDA version

User Rating:  / 0
AddThis Social Bookmark Button
Change letter size:

The rCUDA Team is very happy to inform that we continue making progress with the new version of rCUDA. Our latest achievement is that TensorFlow is starting to work with rCUDA. We have been able to successfully execute a few samples, such as Inception or Cifar10, using one remote GPU, two remote GPUs located in the same server, and two remote GPUs located at different servers. More work and testing is still required to make TensorFlow work with rCUDA reliably. In any case, we tried with TensorFlow 1.12, which is the latest version of TensorFlow using CUDA 9.0 (we are focusing on completing the development of rCUDA for CUDA 9.0 before trying newer CUDA versions). We are confident that newer versions of TensorFlow, such as 1.13 or 1.14, will work once we upgrade rCUDA to support CUDA 10.x. Final step will be making TensorFlow 2.x work with rCUDA. This final step is still far away in the horizon.

The new rCUDA version is able to ...

User Rating:  / 2
AddThis Social Bookmark Button
Change letter size:

The new version of rCUDA is easier to be used.  Now, the server side of rCUDA can automatically adapt to the network fabric used by the client side. That is, once the rCUDA server is up and running, it can concurrently accept clients that use Ethernet and clients that use InfiniBand. In previous versions of rCUDA, the rCUDA server could only accept either Ethernet clients or InfiniBand clients, depending on the configuration specified when launching the rCUDA server. We will provide more details about the new rCUDA version in next posts. 

The new rCUDA version is getting more and more complete

User Rating:  / 0
AddThis Social Bookmark Button
Change letter size:

The rCUDA Team is glad to announce that the new rCUDA version is now able to perform data copies between GPUs located in different remote servers. That is, if an application using rCUDA is assigned two GPUs, each of them located in a different server, now it is possible to directly copy data among them. This can be done for all the data copy functions included in CUDA (1D, 2D, 3D and Array versions of these functions). Also, this can be done regardless of the exact GPU models involved in the data copy (GPUs in both servers can be different).

Change letter size:

Gold Sponsors

Silver Sponsors

Logo gva

 

logo bright

logo nvidia