とりあえず日記

VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ(いまここ🍄)

CUDAのライセンスを調べてみた

CUDAのインストール時に表示されるライセンスを超簡単に調べてみました。

以下ライセンスの抜粋。

gdb/Open64

A. Licensee’s use of the following third party components is subject to the terms and conditions of GNU GPL v2.0:

1.gdb
2.Open64

CUDAをgdb/Open64上で使うときはGNU GPL v2.0で使ってね!という意味でしょうか。

gdb (The GNU Project Debugger)

http://www.gnu.org/s/gdb/

Open64

Open64はコンパイラのようです、初めて知りました。

Open64はもともとSGIで開発されていたPro64コンパイラをベースとしたコンパイラプロダクト。C/C++Fortranコンパイラが提供されており、i386、i86_64、IA64、MIPSなどのアーキテクチャに対応している。

http://news.mynavi.jp/news/2011/11/14/013/index.html

Opne64本家
http://www.open64.net/

Open64の情報。
http://blog.livedoor.jp/rootan2007/archives/51587976.html
http://d.hatena.ne.jp/nminoru/20100412/open64
http://vivio.blog.shinobi.jp/Entry/274/

gcc front-end v2.2

B. Licensee’s use of the following third party components is subject to the terms and conditions of GNU GPL v3.0:

1. gcc front-end v2.2

情報源

ソースからバイナリへ: GCCの内部機構
http://www.jp.redhat.com/magazine/NO5/


Thrust/Boost

D. Licensee’s use of the Thrust is library is subject to the terms and conditions of the Apache License Version 2.0. All third-party software packages are copyright by their respective authors. Apache License Version 2.0 terms and conditions are hereby incorporated into the Argreement by this reference.

http://www.apache.org/licenses/license-2.0.html

In addition, Licensee acknowledges the following notice:

Thrust includes source code from the Boost Iterator, Tuple, System, and Random Number libraries.

Boost Software License - Version 1.0 - August 17th, 2003

ThrustはCUDA(GPU プログラミング)でSTLライクな記述を行うライブラリだそうだ。

//Thrustの使用例。
//http://code.google.com/p/thrust/
#include <thrust/host_vector.h>
#include <thrust/device_vector.h>
#include <thrust/generate.h>
#include <thrust/sort.h>
#include <thrust/copy.h>
#include <cstdlib>

int main(void)
{
    // generate 32M random numbers on the host
    thrust::host_vector<int> h_vec(32 << 20);
    thrust::generate(h_vec.begin(), h_vec.end(), rand);

    // transfer data to the device
    thrust::device_vector<int> d_vec = h_vec;

    // sort data on the device (846M keys per second on GeForce GTX 480)
    thrust::sort(d_vec.begin(), d_vec.end());

    // transfer data back to host
    thrust::copy(d_vec.begin(), d_vec.end(), h_vec.begin());

    return 0;
}

Thrust本家
http://code.google.com/p/thrust/

なにげにBOOSTも含まれています。