forked from NVIDIA/nvidia-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Jonathan Calmels
committed
Nov 4, 2015
0 parents
commit 3d77417
Showing
12 changed files
with
558 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
The NVIDIA DIGITS | ||
Software Grant and Corporate Contributor License Agreement ("Agreement") | ||
|
||
Thank you for your interest in the NVIDIA DIGITS Project (the | ||
"Project"). In order to clarify the intellectual property license | ||
granted with Contributions from any person or entity, NVIDIA | ||
Corporation (the “Copyright Holders") must have a Contributor License | ||
Agreement (CLA) on file that has been signed by each Contributor, | ||
indicating agreement to the license terms below. This license is | ||
for your protection as a Contributor as well as the protection of the | ||
Project and its users; it does not change your rights to use your own | ||
Contributions for any other purpose. | ||
|
||
This version of the Agreement allows an entity (the "Corporation") to | ||
submit Contributions to the Project, to authorize Contributions | ||
submitted by its designated employees to the Project, and to grant | ||
copyright and patent licenses thereto to the Copyright Holders. | ||
|
||
If you have not already done so, please complete and sign, then scan and | ||
email a pdf file of this Agreement to digits@nvidia.com. | ||
Please read this document carefully before signing and keep a copy for | ||
your records. | ||
|
||
Corporation name: ________________________________________________ | ||
|
||
Corporation address: ________________________________________________ | ||
|
||
________________________________________________ | ||
|
||
________________________________________________ | ||
|
||
Point of Contact: ________________________________________________ | ||
|
||
E-Mail: ________________________________________________ | ||
|
||
Telephone: _____________________ Fax: _____________________ | ||
|
||
|
||
You accept and agree to the following terms and conditions for Your | ||
present and future Contributions submitted to the Project. In | ||
return, the Copyright Holders shall not use Your Contributions in a way | ||
that is contrary to the public benefit or inconsistent with its nonprofit | ||
status and bylaws in effect at the time of the Contribution. Except | ||
for the license granted herein to the Copyright Holders and recipients of | ||
software distributed by the Copyright Holders, You reserve all right, title, | ||
and interest in and to Your Contributions. | ||
|
||
1. Definitions. | ||
|
||
"You" (or "Your") shall mean the copyright owner or legal entity | ||
authorized by the copyright owner that is making this Agreement | ||
with the Copyright Holders. For legal entities, the entity making a | ||
Contribution and all other entities that control, are controlled by, | ||
or are under common control with that entity are considered to be a | ||
single Contributor. For the purposes of this definition, "control" | ||
means (i) the power, direct or indirect, to cause the direction or | ||
management of such entity, whether by contract or otherwise, or | ||
(ii) ownership of fifty percent (50%) or more of the outstanding | ||
shares, or (iii) beneficial ownership of such entity. | ||
|
||
"Contribution" shall mean the code, documentation or other original | ||
works of authorship expressly identified in Schedule B, as well as | ||
any original work of authorship, including | ||
any modifications or additions to an existing work, that is intentionally | ||
submitted by You to the Copyright Holders for inclusion in, or | ||
documentation of, any of the products owned or managed by the | ||
Copyright Holders (the "Work"). For the purposes of this definition, | ||
"submitted" means any form of electronic, verbal, or written | ||
communication sent to the Copyright Holders or its representatives, | ||
including but not limited to communication on electronic mailing | ||
lists, source code control systems, and issue tracking systems | ||
that are managed by, or on behalf of, the Copyright Holders for the | ||
purpose of discussing and improving the Work, but excluding | ||
communication that is conspicuously marked or otherwise designated | ||
in writing by You as "Not a Contribution." | ||
|
||
2. Grant of Copyright License. Subject to the terms and conditions | ||
of this Agreement, You hereby grant to the Copyright Holders and to | ||
recipients of software distributed by the Copyright Holders a | ||
perpetual, worldwide, non-exclusive, no-charge, royalty-free, | ||
irrevocable copyright license to reproduce, prepare derivative works | ||
of, publicly display, publicly perform, sublicense, and distribute | ||
Your Contributions and such derivative works. | ||
|
||
3. Grant of Patent License. Subject to the terms and conditions of | ||
this Agreement, You hereby grant to the Copyright Holders and to | ||
recipients of software distributed by the Copyright Holders | ||
a perpetual, worldwide, non-exclusive, no-charge, royalty-free, | ||
irrevocable (except as stated in this section) patent license | ||
to make, have made, use, offer to sell, sell, import, and otherwise | ||
transfer the Work, where such license applies only to those | ||
patent claims licensable by You that are necessarily infringed | ||
by Your Contribution(s) alone or by combination of Your Contribution(s) | ||
with the Work to which such Contribution(s) were submitted. | ||
If any entity institutes patent litigation against You or any | ||
other entity (including a cross-claim or counterclaim in a lawsuit) | ||
alleging that your Contribution, or the Work to which you have | ||
contributed, constitutes direct or contributory patent infringement, | ||
then any patent licenses granted to that entity under this Agreement | ||
for that Contribution or Work shall terminate as of the date such | ||
litigation is filed. | ||
|
||
4. You represent that You are legally entitled to grant the above | ||
license. You represent further that each employee of the | ||
Corporation designated on Schedule A below (or in a subsequent | ||
written modification to that Schedule) is authorized to submit | ||
Contributions on behalf of the Corporation. | ||
|
||
5. You represent that each of Your Contributions is Your original | ||
creation (see section 7 for submissions on behalf of others). | ||
|
||
6. You are not expected to provide support for Your Contributions, | ||
except to the extent You desire to provide support. You may provide | ||
support for free, for a fee, or not at all. Unless required by | ||
applicable law or agreed to in writing, You provide Your | ||
Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS | ||
OF ANY KIND, either express or implied, including, without | ||
limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, | ||
MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. | ||
|
||
7. Should You wish to submit work that is not Your original creation, | ||
You may submit it to the Copyright Holders separately from any | ||
Contribution, identifying the complete details of its source and | ||
of any license or other restriction (including, but not limited | ||
to, related patents, trademarks, and license agreements) of which | ||
you are personally aware, and conspicuously marking the work as | ||
"Submitted on behalf of a third-party: [named here]". | ||
|
||
8. It is your responsibility to notify the Copyright Holders when any change | ||
is required to the list of designated employees authorized to submit | ||
Contributions on behalf of the Corporation, or to the Corporation's | ||
Point of Contact with the Copyright Holders. | ||
|
||
|
||
|
||
Please sign: __________________________________ Date: _______________ | ||
|
||
Title: __________________________________ | ||
|
||
Corporation: __________________________________ | ||
|
||
|
||
|
||
|
||
Schedule A | ||
|
||
[Initial list of designated employees. NB: authorization is not | ||
tied to particular Contributions.] | ||
|
||
|
||
|
||
|
||
|
||
|
||
Schedule B | ||
|
||
[Identification of optional concurrent software grant. Would be | ||
left blank or omitted if there is no concurrent software grant.] | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions | ||
are met: | ||
* Redistributions of source code must retain the above copyright | ||
notice, this list of conditions and the following disclaimer. | ||
* Redistributions in binary form must reproduce the above copyright | ||
notice, this list of conditions and the following disclaimer in the | ||
documentation and/or other materials provided with the distribution. | ||
* Neither the name of NVIDIA CORPORATION nor the names of its | ||
contributors may be used to endorse or promote products derived | ||
from this software without specific prior written permission. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY | ||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR | ||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | ||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | ||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | ||
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
# NVIDIA Docker | ||
This repository includes utilities to build and run NVIDIA Docker images. | ||
See ```samples/``` for a list of Dockerfile examples. | ||
|
||
 | ||
|
||
### Building images | ||
|
||
Images can be built on any machine running Docker, it doesn't require a NVIDIA GPU nor any driver installation. | ||
|
||
Building images is done through the Docker CLI or using the ```nvidia-docker``` wrapper similarly: | ||
```sh | ||
# With latest versions | ||
$ docker build -t cuda ubuntu/cuda/latest | ||
``` | ||
|
||
```sh | ||
# With specific versions | ||
$ docker build -t cuda:7.5 ubuntu-14.04/cuda/7.5 | ||
``` | ||
|
||
Alternatively, one can build an image directly from this repository: | ||
```sh | ||
# With latest versions | ||
$ docker build -t cuda github.com/NVIDIA/nvidia-docker#:ubuntu/cuda/latest | ||
``` | ||
```sh | ||
# With specific versions | ||
$ docker build -t cuda:7.5 github.com/NVIDIA/nvidia-docker#:ubuntu-14.04/cuda/7.5 | ||
``` | ||
|
||
### NVIDIA Docker wrapper | ||
|
||
The ```nvidia-docker``` script is a drop-in replacement for ```docker``` CLI. In addition, it takes care of setting up the NVIDIA host driver environment inside Docker containers for proper execution. | ||
|
||
GPUs are exported through a list of comma-separated IDs using the environment variable ```GPU```. | ||
The numbering is the same as reported by ```nvidia-smi``` or when running CUDA code with ```CUDA_DEVICE_ORDER=PCI_BUS_ID```, it is however **different** from the default CUDA ordering. | ||
|
||
```sh | ||
$ GPU=0,1 ./nvidia-docker <docker-options> <docker-command> <docker-args> | ||
``` | ||
|
||
### CUDA requirements | ||
|
||
Running a CUDA container requires a machine with at least one CUDA-capable GPU and a driver compatible with the CUDA toolkit version you are using. | ||
|
||
NVIDIA drivers are **backward-compatible** with CUDA toolkits versions: | ||
|
||
CUDA toolkit version | Minimum driver version | ||
:---------------------:|:-----------------------: | ||
7.0 | >= 346.46 | ||
7.5 | >= 352.39 | ||
|
||
|
||
### Samples | ||
|
||
Once you have built the required images, a few examples are provided in the folder ```samples```. | ||
The following assumes that you have an image in your repository named ```cuda``` (see ```samples/deviceQuery/Dockerfile```): | ||
```sh | ||
# Run deviceQuery with one selected GPU | ||
$ docker build -t device_query samples/deviceQuery | ||
$ GPU=0 ./nvidia-docker run device_query | ||
|
||
[ NVIDIA ] =INFO= Driver version: 352.39 | ||
[ NVIDIA ] =INFO= CUDA image version: 7.5 | ||
|
||
./deviceQuery Starting... | ||
|
||
CUDA Device Query (Runtime API) version (CUDART static linking) | ||
|
||
Detected 1 CUDA Capable device(s) | ||
|
||
Device 0: "GeForce GTX 980" | ||
[...] | ||
|
||
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 980 | ||
Result = PASS | ||
``` | ||
|
||
# Issues and Contributing | ||
* Please let us know by [filing a new issue](https://github.com/NVIDIA/nvidia-docker/issues/new) | ||
* You can contribute by opening a [pull request](https://help.github.com/articles/using-pull-requests/) | ||
You will need to send a signed copy of the [Contributor License Agreement](CLA) to digits@nvidia.com before your change can be accepted. |
Oops, something went wrong.