Skip to content
This repository has been archived by the owner on Oct 19, 2020. It is now read-only.

inducer/iterative-cuda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

-------------------------------------------------------------------------------
Iterative CUDA
-------------------------------------------------------------------------------
Iterative CUDA is licensed to you under the MIT/X Consortium license:

Copyright (c) 2009 Andreas Klöckner.

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the Software), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-------------------------------------------------------------------------------

This library includes code from

- Nathan Bell and Michael Garland's CUDA sparse-matrix-vector examples
- Andreas Kloeckner's PyCUDA
- Mark Harris's CUDA vector reduction code
- The University of Utah's FindCUDA CMake code.

Licenses for these codes are reproduced below.

-------------------------------------------------------------------------------
CUDA SpMV:
-------------------------------------------------------------------------------

CUDA SDK END USER LICENSE AGREEMENT ("Agreement")

BY DOWNLOADING THE SOFTWARE AND OTHER AVAILABLE MATERIALS, YOU  ("DEVELOPER")
AGREE TO BE BOUND BY THE FOLLOWING TERMS AND CONDITIONS OF THIS AGREEMENT.  IF
DEVELOPER DOES NOT AGREE TO THE TERMS AND CONDITION OF THIS AGREEMENT, THEN DO
NOT DOWNLOAD THE SOFTWARE AND MATERIALS.

The materials available for download to Developers may include software in both
sample source ("Source Code") and object code ("Object Code") versions,
documentation ("Documentation"), certain art work ("Art Assets") and other
materials (collectively, these materials referred to herein as "Materials").
Except as expressly indicated herein, all terms and conditions of this
Agreement apply to all of the Materials.

Except as expressly set forth herein, NVIDIA owns all of the Materials and
makes them available to Developer only under the terms and conditions set forth
in this Agreement.

License:  Subject to the terms of this Agreement, NVIDIA hereby grants to
Developer a royalty-free, non-exclusive license to possess and to use the
Materials.  Developer may install and use multiple copies of the Materials on a
shared computer or concurrently on different computers, and make multiple
back-up copies of the Materials, solely for Licensee’s use within Licensee’s
Enterprise. “Enterprise” shall mean individual use by Licensee or any legal
entity (such as a corporation or university) and the subsidiaries it owns by
more than 50 percent.  The following terms apply to the specified type of
Material:

Source Code:  Developer shall have the right to modify and create derivative
works with the Source Code.  Developer shall own any derivative works
("Derivatives") it creates to the Source Code, provided that Developer uses the
Materials in accordance with the terms and conditions of this Agreement.
Developer may distribute the Derivatives , provided that all NVIDIA copyright
notices and trademarks are used properly and the Derivatives include the
following statement: "This software contains source code provided by NVIDIA
Corporation."  

Object Code:  Developer agrees not to disassemble, decompile or reverse
engineer the Object Code versions of any of the Materials.  Developer
acknowledges that certain of the Materials provided in Object Code version may
contain third party components that may be subject to restrictions, and
expressly agrees not to attempt to modify or distribute such Materials without
first receiving consent from NVIDIA.

Art Assets:  Developer shall have the right to modify and create Derivatives of
the Art Assets, but may not distribute any of the Art Assets or Derivatives
created therefrom without NVIDIA’s prior written consent.

No Other License: No rights or licenses are granted by NVIDIA to Developer
under this Agreement, expressly or by implication, with respect to any
proprietary information or patent, copyright, trade secret or other
intellectual property right owned or controlled by NVIDIA, except as expressly
provided in this Agreement.

Intellectual Property Ownership: All rights, title, interest and copyrights in
and to the Materials (including but not limited to all images, photographs,
animations, video, audio, music, text, and other information incorporated into
the Materials), are owned by NVIDIA, or its suppliers . The Materials are
protected by copyright laws and international treaty provisions. Accordingly,
Developer is required to treat the Materials like any other copyrighted
material, except as otherwise allowed pursuant to this Agreement. 


Term of Agreement:  This Agreement will automatically terminate if Licensee
fails to comply with any of the terms and conditions hereof. In such event,
Licensee must destroy all copies of the SOFTWARE and all of its component
parts.

Defensive Suspension: If Developer commences or participates in any legal
proceeding against NVIDIA, then NVIDIA may, in its sole discretion, suspend or
terminate all license grants and any other rights provided under this Agreement
during the pendency of such legal proceedings. 


No Support:  NVIDIA has no obligation to support or to continue providing or
updating any of the Materials.

No Warranty:  THE SOFTWARE AND ANY OTHER MATERIALS PROVIDED BY NVIDIA TO
DEVELOPER HEREUNDER ARE PROVIDED "AS IS."  NVIDIA DISCLAIMS ALL WARRANTIES,
EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT.

Limitation of Liability: NVIDIA SHALL NOT BE LIABLE TO DEVELOPER, DEVELOPER’S
CUSTOMERS, OR ANY OTHER PERSON OR ENTITY CLAIMING THROUGH OR UNDER DEVELOPER
FOR ANY LOSS OF PROFITS, INCOME, SAVINGS, OR ANY OTHER CONSEQUENTIAL,
INCIDENTAL, SPECIAL, PUNITIVE, DIRECT OR INDIRECT DAMAGES (WHETHER IN AN ACTION
IN CONTRACT, TORT OR BASED ON A WARRANTY), EVEN IF NVIDIA HAS BEEN ADVISED OF
THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING
ANY FAILURE OF THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.  IN NO EVENT SHALL
NVIDIA’S AGGREGATE LIABILITY TO DEVELOPER OR ANY OTHER PERSON OR ENTITY
CLAIMING THROUGH OR UNDER DEVELOPER EXCEED THE AMOUNT OF MONEY ACTUALLY PAID BY
DEVELOPER TO NVIDIA FOR THE SOFTWARE OR ANY OTHER MATERIALS.

Applicable Law: This Agreement shall be deemed to have been made in, and shall
be construed pursuant to, the laws of the State of Delaware . The United
Nations Convention on Contracts for the International Sale of Goods is
specifically disclaimed.

Feedback: In the event Developer contacts NVIDIA to request Feedback (as
defined below) on how to optimize Developer’s product for use with the
Materials, the following terms and conditions apply the Feedback:

1. Exchange of Feedback. Both parties agree that neither party has an
obligation to give the other party any suggestions, comments or other feedback,
whether verbally or in code form (“Feedback”), relating to (i) the Materials;
(ii) Developer’s products; (iii) Developer’s use of the Materials; or (iv)
optimization of Developer’s product with CUDA.  In the event either party
provides Feedback to the other party, the party receiving the Feedback may use
and include any Feedback that the other party voluntarily provides to improve
the (i) Materials or other related NVIDIA technologies, respectively for the
benefit of NVIDIA; or (ii) Developer’s product or other related Developer
technologies, respectively for the benefit of Developer.  Accordingly, if
either party provides Feedback to the other party, both parties agree that the
other party and its respective Developers may freely use, reproduce, license,
distribute, and otherwise commercialize the Feedback in the (i) Materials or
other related technologies; or (ii) Developer’s products or other related
technologies, respectively, without the payment of any royalties or fees.
  
2. Residual Rights. Developer agrees that NVIDIA shall be free to use any
general knowledge, skills and experience, (including, but not limited to,
ideas, concepts, know-how, or techniques) (“Residuals”), contained in the (i)
Feedback provided by Developer to NVIDIA; (ii) Developer’s products, in source
or object code form, shared or disclosed to NVIDIA in connection with the
Feedback; or (c) Developer’s confidential information voluntarily provided to
NVIDIA in connection with the Feedback, which are retained in the memories of
NVIDIA’s employees, agents, or contractors who have had access to such (i)
Feedback provided by Developer to NVIDIA; (ii) Developer’s products; or (c)
Developer’s confidential information voluntarily provided to NVIDIA, in
connection with the Feedback.  Subject to the terms and conditions of this
Agreement, NVIDIA’s employees, agents, or contractors shall not be prevented
from using Residuals as part of such employee’s, agent’s or contractor’s
general knowledge, skills, experience, talent, and/or expertise.  NVIDIA shall
not have any obligation to limit or restrict the assignment of such employees,
agents or contractors or to pay royalties for any work resulting from the use
of Residuals.

3. Disclaimer of Warranty. FEEDBACK FROM EITHER PARTY IS PROVIDED FOR THE OTHER
PARTY’S USE “AS IS” AND BOTH PARTIES DISCLAIM ALL WARRANTIES, EXPRESS, IMPLIED
AND STATUTORY INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  BOTH PARTIES DO NOT
REPRESENT OR WARRANT THAT THE FEEDBACK WILL MEET THE OTHER PARTY’S REQUIREMENTS
OR THAT THE OPERATION OR IMPLEMENTATION OF THE FEEDBACK WILL BE UNINTERRUPTED
OR ERROR-FREE.

4. No Liability for Consequential Damages. TO THE MAXIMUM EXTENT PERMITTED BY
APPLICABLE LAW, IN NO EVENT SHALL EITHER PARTY OR ITS SUPPLIERS BE LIABLE FOR
ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER
(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
ARISING OUT OF THE USE OF OR INABILITY TO USE THE FEEDBACK, EVEN IF THE OTHER
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

5. Freedom of Action.  Developer agrees that this Agreement is nonexclusive and
NVIDIA may currently or in the future be developing software, other technology
or confidential information internally, or receiving confidential information
from other parties that maybe similar to the Feedback and Developer’s
confidential information (as provided in subsection 2 above), which may be
provided to NVIDIA in connection with Feedback by Developer.  Accordingly,
Developer agrees that nothing in this Agreement will be construed as a
representation or inference that NVIDIA will not develop, design, manufacture,
acquire, market products, or have products developed, designed, manufactured,
acquired, or marketed for NVIDIA, that compete with the Developer’s products or
confidential information.

RESTRICTED RIGHTS NOTICE: Materials has been developed entirely at private
expense and is commercial computer software  provided with RESTRICTED RIGHTS.
Use, duplication or disclosure by the U.S. Government or a U.S. Government
subcontractor is subject to the restrictions set forth in the license agreement
under which Materials was obtained pursuant to DFARS 227.7202-3(a) or as set
forth in subparagraphs (c)(1) and (2) of the Commercial Computer Software -
Restricted Rights clause at FAR 52.227-19, as applicable .
Contractor/manufacturer is NVIDIA, 2701 San Tomas Expressway, Santa Clara, CA
95050.

Miscellaneous: If any provision of this Agreement is inconsistent with, or
cannot be fully enforced under, the law, such provision will be construed as
limited to the extent necessary to be consistent with and fully enforceable
under the law. This Agreement is the final, complete and exclusive agreement
between the parties relating to the subject matter hereof, and supersedes all
prior or contemporaneous understandings and agreements relating to such subject
matter, whether oral or written. This Agreement may only be modified in writing
signed by an authorized officer of NVIDIA. Developer agrees that it will not
ship, transfer or export the Materials into any country, or use the Materials
in any manner, prohibited by the United States Bureau of Export Administration
or any export laws, restrictions or regulations.  
-------------------------------------------------------------------------------
PyCUDA
-------------------------------------------------------------------------------
PyCUDA is licensed to you under the MIT/X Consortium license:

Copyright (c) 2009 Andreas Klöckner and Contributors.

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the Software), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-------------------------------------------------------------------------------
CUDA reduction
-------------------------------------------------------------------------------
Copyright 1993-2007 NVIDIA Corporation.  All rights reserved.

NOTICE TO USER:

This source code is subject to NVIDIA ownership rights under U.S. and
international Copyright laws.

NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE
CODE FOR ANY PURPOSE.  IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR
IMPLIED WARRANTY OF ANY KIND.  NVIDIA DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
OR PERFORMANCE OF THIS SOURCE CODE.

U.S. Government End Users.  This source code is a "commercial item" as
that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting  of
"commercial computer software" and "commercial computer software
documentation" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995)
and is provided to the U.S. Government only as a commercial end item.
Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through
227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the
source code with only those rights set forth herein.
-------------------------------------------------------------------------------
FindCUDA CMake tool
-------------------------------------------------------------------------------
For more information, please see: http://software.sci.utah.edu

The MIT License

Copyright (c) 2007
Scientific Computing and Imaging Institute, University of Utah

License for the specific language governing rights and limitations under
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

About

Iterative methods (Conjugate Gradients) on sparse matrices for CUDA

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published