gpubox command reference

gpubox gpubox add block gpubox drop block gpubox free block gpubox ping block gpubox list block gpubox passwd block gpubox here block gpubox token block gpubox gentoken block gpubox version block gpubox whoami block gpubox help block -q -v

Global switches:
-q Quiet. Display only the crucial information.
-v Verbose. The most detailed data will be displayed during command execution.

gpubox add

Description: Allocating the GPUs.

gpubox add block
add a device_id 1 number shared s exclusive e loose l strict t

Parameters:
device_id ID of the GPU from gpubox free subcommand.
number Number of GPUs to be allocated. Default value: 1.
shared|s Allocate the GPUs in a shared mode.

Default

exclusive|x Allocate the GPUs in an exclusive mode.
loose|l Fewer GPUs can be allocated if the requested number is not available.

Default

strict|t Allocate either the requested number of GPUs or none.

Examples:
Allocate 15 GPUs with device ID 3 in default mode (shared and loose)
$ gpubox add 3 15
Allocate default amount (1) o GPUs with device ID 2 in default mode (sharedloose):
$ gpubox add 2
Allocate 20 GPUs with device ID 2 in strict mode and default shared mode:
$ gpubox a 2 20 t
Allocate 11 GPUs with device ID 1 in exclusive and strict mode:
$ gpubox add 1 11 exclusive t 

After each successful gpubox add operation an updated table from gpubox list command will be displayed.

gpubox drop

Description: Removing allocated GPUs.

gpubox drop block
drop d ID start_ID - end_ID ,

Parameters:
ID Remove the GPU with a specified ID
start_ID Beginning of the range of GPUs that will be dropped
end_ID End of the range of GPUs that will be dropped

Examples:
Remove the GPU with ID 8:
$ gpubox drop 8
Remove the GPUs with IDs 3 and 5:
$ gpubox drop 3,5
Remove the GPUs with IDs from 4 to 9:
$ gpubox drop 4-9
Remove the GPUs with IDs 2 and from 3 to 6:
$ gpubox drop 2,3-6
Remove the GPUs with IDs 2,5 and from 4 to 7 and from 10 to 12:
$ gpubox drop 2,5,4-7,10-12

gpubox free

Description: Displaying the GPUs that are ready for allocation.

gpubox free block
free f

Example:
Display free GPUs in my infrastructure:
$ gpubox f
+-------+-----------------------------------+---------------+---------------+
|DID    |GPU name                           |Memory (GB)    |Available GPU  |
+-------+-----------------------------------+---------------+---------------+
|1      |GeForce GTX 690                    |2              |8              |
|2      |GeForce GTX 680                    |2              |15             |
|3      |GeForce GTX 780                    |3              |9              |
+-------+-----------------------------------+---------------+---------------+

Displayed table:

Column name Description
DID Device ID indicating the type of GPU that can be allocated.
GPU name Name of the free GPU device.
Memory (GB) GPU memory expressed in gigabytes.
Available GPU Number of free GPUs of a particular type.

gpubox ping

Description: Checking connection with the OServer.

gpubox ping block
ping i OServer_address

Parameters:
OServer_address Full HTTP/HTTPS address of the OServer

Example:
Ping the OServer with the following address: http://203.0.113.1:8080:
$ gpubox ping http://203.0.113.1:8080

gpubox list

Description: Listing user's current allocations.

gpubox list block
list l

Example:
List the GPUs that I have allocated:
$ gpubox list
+-------------+------------------+-------------+---------------+--------+-----------+
|ID           |GPU name          |PCI          |Client's IP    |Status  |Since      |
+-------------+------------------+-------------+---------------+--------+-----------+
|1            |GeForce GTX 680   |710C:02:00.0 |203.0.113.51   |SHARED  |2013-04-...|
|2            |GeForce GTX 680   |710C:04:00.0 |203.0.113.51   |SHARED  |2013-04-...|
|...          |...               |...          |...            |...     |...        |

Displayed table:

Column name Description
ID Local identification number of the GPU that is used for basic user operations on allocations. ID is generated automatically during the GPU allocation and may indicate the order in which the GPUs were added.
GPU name Name of the allocated GPU device.
PCI PCI address format <domain>:<bus>:<slot>.<function> where:
<domain> is 4 characters long and consists of a hexadecimal value of the two last octets of the GPUServer’s IP address. For example: Domain in a PCI address for the GPUServer with IP address 203.0.113.12 will be 710C because 113 hexadecimally is 0x71 and 12 is 0xC.
<bus>:<slot>.<function> is taken from the lspci command on the GPUServer.
Client's IP The IP address of the Client that was used to allocate the GPU. The user can use the command gpubox here to reallocate all of the GPUs to his current IP address.
Status The status of a particular GPU. It can be EXCLUSIVE, SHARED, OFF, STOPPED or BROKEN.
Since Timestamp indicating when the GPU was allocated. Format: YYYY-MM-DD hh:mm:ss

gpubox passwd

Description: Changing the password.

gpubox passwd block
passwd p

Example:
Change my password from the current password passwd1 to passwd2.
$ gpubox p
Please enter current password: ******* (type: passwd1)
Enter new password: ******* (type: passwd2)
Retype new password: ******* (retype: passwd2)
Password changed

Password may contain any printable ASCII characters, is case sensitive and must be at least 6 characters long.

gpubox here

Description: Reallocating all of the user's GPU allocations to the currently used machine.

gpubox here block
here h

Example:
Reallocate all my GPUs to my current IP address:
$ gpubox here

gpubox token

Description: Logging in by downloading the user's token.

gpubox token block
token t --user -u = user_id --oserver -o = OServer_address --yes -y --password -p = password

Parameters:
--user|-u=<user_id> User to login.
--oserver|-o=<OServer_address> Full HTTP/HTTPS address of the OServer.
--yes|-y Confirm file overwrite automatically.
--password|-p=<password> Password to the user's account. If not given, user will be asked to enter it.

Example:
Log into the OServer under the address https://203.0.113.1:8082 using user ID "john" and password "passwd1"
 $ gpubox t -u=john -o=https://203.0.113.1:8082
Enter password: ******* (type: passwd1)
Configuration file /home/john/.gpubox already exists, overwrite it? [y/n]y
Login successful.

More than 5 failed password attempts disables the account. To enable it the user has to contact the administrator.

gpubox gentoken

Description: Generating a new token for the account.

gpubox gentoken block
gentoken gt --yes -y --no -n

Parameters:
--yes|-y Automatically confirm overwriting of the file.
--no|-n Automatically deny overwriting of the file.

Example:
Generate a new token for my account:
$ gpubox gentoken
Configuration file /home/bob/.gpubox already exists, overwrite it? [y/n]y

New token is generated regardless of the user's decision whether or not to overwrite existing Client's configuration file. If the new configuration file is not downloaded, Clients will not be able to perform any operations until the user downloads the new configuration file using gpubox token command.

Applying gpubox gentoken subcommand will result in dropping of user's current allocations.

gpubox version

Description: Displaying the GPUBox Client's version.

gpubox version block
version v

Example:
Display the GPUBox Client's version:
$ gpubox v

gpubox whoami

Description: Displaying details about the user's account.

gpubox whoami block
whoami w

Example:
Display information about my account:
$ gpubox whoami

gpubox help

Description: Displaying help for subcommands.

gpubox help block
help ? add a config c drop d free f ping i passwd p here h token t gentoken gt version v whoami w

Examples:
Display help for the gpubox add subcommand:
$ gpubox help add
Display help for the gpubox token subcommand:
$ gpubox ? t