CUDA Data-Parallel Primitives Library (CUDPP) is the proprietary
property of The Regents of the University of California ("The
Regents") and NVIDIA Corporation ("NVIDIA").

Copyright (c) 2007 The Regents of the University of California, Davis
campus and 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 The Regents, NVIDIA, nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

The end-user understands that the program was developed for research
purposes and is advised not to rely exclusively on the program for any
reason.

THE SOFTWARE PROVIDED IS ON AN "AS IS" BASIS, AND THE REGENTS, NVIDIA
AND CONTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
UPDATES, ENHANCEMENTS, OR MODIFICATIONS. THE REGENTS, NVIDIA AND
CONTRIBUTORS SPECIFICALLY DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE REGENTS, NVIDIA OR CONTRIBUTORS BE LIABLE TO ANY
PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, 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 UNDER 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 AND ITS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

If you do not agree to these terms, do not download or use the
software.  This license may be modified only in a writing signed by
authorized signatory of all parties.  For The Regents contact
copyright@ucdavis.edu.

Relating to funding received by the Regents-

Acknowledgment: This material is based upon work supported by
the Department of Energy under Award Numbers DE-FG02-04ER25609 and
DE-FC02-06ER25777.

Disclaimer: This report was prepared as an account of work sponsored
by an agency of the United States Government. Neither the United
States Government nor any agency thereof, nor any of their employees,
makes any warranty, express or implied, or assumes any legal liability
or responsibility for the accuracy, completeness, or usefulness of any
information, apparatus, product, or process disclosed, or represents
that its use would not infringe privately owned rights. Reference
herein to any specific commercial product, process, or service by
trade name, trademark, manufacturer, or otherwise does not necessarily
constitute or imply its endorsement, recommendation, or favoring by
the United States Government or any agency thereof. The views and
opinions of authors expressed herein do not necessarily state or
reflect those of the United States Government or any agency hereof.
