��NVIDIA��CEO����^����g���{��CUDA�h�F�uEchelon�v��Fermi��100�{�i1/2 �y�[�W�j
» 2010�N12��02�� 00��00�� ���J
��NVIDIA CEO�̃W�F���X���E�t�@����
�@�u�O���t�B�b�N�X�ł͂Ȃ��ėp��GPU�R���s���[�e�B���O�ɒ��ڂ��Ă����v�Əq�ׂ���NVIDIA CEO�̃W�F���X���E�t�@�����ɂ���u���̓��e�́A2010�N9���ɕč��ōs��ꂽ�uGPU Technology Conference�v�̓����ɂ���u���Ƃقڋ��ʂ����BCUDA���ŊJ�����ꂽGPU�R���s���[�e�B���O�́A�����ԎY�ƁA���z�A�C���e���A�łɂ�����f�U�C���V�~�����[�V������A���̃V�~�����[�V�������ʂ̃��A���^�C���\���A���i�J���A�V�̉^���V�~�����[�V�����A�����ēV�C�\��ɗp�����C�V�~�����[�V�����ȂǁA���x�ȕ��Z������K�v�Ƃ���̈�ōL���g���Ă���B
�@���̃P�[�X�X�^�f�B�Ƃ��āA�����H�Ƒ�w �w�p���ۏ��Z���^�[�̐ؑ��V�����A����w��TSUBAME 2.0�Ńt��GPU���Z�����s���鎟����C�ۃ��f�����Љ���B�C�ۂ̐��l�\��ł́A������C���A�����C�̋��������߂�g�͊w�ߒ��h�ƁA�_�̌`����~�J�Ȃǂ̓��������߂�g�����ߒ��h�ɕ�����ĉ��Z���s����B�]���A�͊w�ߒ��̉��Z�ł̓������A�N�Z�X���c��ɔ������āA�v���Z�b�T�̃s�[�N���Z�\�͂������o���Ȃ�����ŁA�����ߒ��̉��Z�ł́A���������_���Z�Ŕ��ɍ������ׂ���������Ƃ����B
�@�؎��́A������C�ۃ��f���̊J���ɂ����āAGPU�R���s���[�e�B���O�̕��������_���Z�\�͂̍����ƃ������o���h���̍L���ɒ��ڂ��A�܂��A�v�Z���ׂ̍����g�_�h�����ߒ��̌v�Z���W���[��������GPU�ōs���悤�ɂ����B���̌��ʁACUDA���ɈڐA�����v�Z���W���[���ł͏]����20�{�Ƃ������\���オ�m�F���ꂽ���A���̈���ŁA�]���̂܂�CPU�ʼn��Z���Ă���͊w�ߒ��̉e�����c��A�C�ۃ��f���S�̂̉��Z�\�͂�30���̌���ɂƂǂ܂����B
�@���̖����������邽�߁ATSUBAME 2.0�̉ғ��ɂ��킹�āA�؎��͂��ׂẲߒ���CUDA���ɈڐA���s���AGPU��ʼn��Z���s�����f�����J�������B�Ȃ��A���̈ڐA��Ƃɂ����ẮAFORTRAN�ŏ�����Ă����R�[�h���܂�C�{�{�ɕύX���A���ꂩ��CUDA�̃R�[�h�ɈڐA�����Ƃ����BCUDA���Ɋ��S�ڍs�����C�ۃ��f����TSUBAME 2.0�œ��������ꍇ�A���̉��Z�\�͂͒P���x�v�Z��145TFlops�A�{���x�v�Z��76.1TFlops�ɒB�����Ɛ؎��͐������Ă���B
�C�ۃ��f����CUDA���ɈڐA�����Ƃł́A�܂����������_���Z�̕��ׂ����������ߒ��̈ꕔ�������ڐA���A���̌��ʂ��������āA�͊w�ߒ����܂߂����ׂĂ̏������ڐA�����i�ʐ^�����j�B�ڐA��Ƃł́A�I���W�i���R�[�h��FORTRAN��CUDA�Ɛe�a���̍���C�^C�{�{�ɈڐA���Ă���ACUDA���ɈڐA�����B�����̃O���t�ł́A�i�q���Ɖ��Z���\�̊W��1�R�AGPU�i�{���x���Z�j��12�R�ACPU�i�{���x���Z�j�AGPU�i�{���x���Z�j�AGPU�i�P���x���Z�j�Ŕ�r���A�E���̃O���t�ł�GPU�ACPU���ꂼ��̃R�A���Ɖ��Z���\�̊W��CPU�i�{���x���Z�j�AGPU�i�{���x���Z�j�AGPU�i�P���x���Z�j�Ŕ�ׂĂ���i�ʐ^���E�j
�@�V�C�\��ł́A���̒n����i�q��ɋ����1��1�̃��b�V�����Ƃɑ�C�̏�Ԃ��v�Z�ŋ��߂邪�A�V�~�����[�V�������s���V�X�e���̐��\�ɂ���āA���̊i�q�T�C�Y�͑�������B���݁A�C�ے��ōs���Ă��鐔�l�\��ł́A��ʓI��721�~577�~50�Ƃ����T�C�Y�ŃV�~�����[�V�������s���Ă��邪�ACUDA���ɈڐA�����C�ۃ��f����TSUBAME 2.0�Ŏ��s�����ꍇ�A4792�~4696�~48�Ƃ����T�C�Y�ŒP���x���Z�����s�ł����Ƃ����B�i�L���f�ړ����A�i�q�T�C�Y�̒l�ɊԈႢ������܂����B����т��Ē����������܂��j
�@���̂ق��A2�ɕ�����ꂽ�C�̂Ɖt�̂ŁA�d������O���Ă��ꂼ�ꂪ�ǂ̂悤�ɓ����̂������Z����V�~�����[�V�����ŁA�]������g���Ă���SPH�@�Ȃǂ̗��q�@�ł͂Ȃ��A�i�q�ɋ�������b�V���@�ɂ��V�~�����[�V�������Љ��A���q�@�ɂ�鉉�Z�ł͂ł��Ȃ������t�̓��ɋC�A�����������A�C�A�̉e���`�悳���������ꂽ�B
CUDA���ɈڐA����������C�ۃ��f���uASUCA�v�Ŏ��ۂɊϑ����ꂽ�䕗�̃V�~�����[�V���������{����B�i�q�T�C�Y��4792�~4696�~48�ŁA���ۂ̃X�P�[���ɒu��������Ɛ���������500���[�g���l���̐��x�ʼn��Z���ł����i�ʐ^�����j�B�i�q�P�ʂʼn��Z���郁�b�V���@�Ŏ��{�����C�̂Ɖt�̗̂��̃V�~�����[�V�����B���ݎ嗬�̗��q�@�ł͍Č��ł��Ȃ��u�t�̂̒��̋C�A�v��GPU�R���s���[�e�B���O�ɂ�郁�b�V���@�ł͋��߂邱�Ƃ��ł���Ƃ����i�ʐ^���E�j
Copyright © ITmedia, Inc. All Rights Reserved.
';
e_dlv.innerHTML = html;
adRequest({position:dlv_pos,dom:true});
}else if(ad_type === 'gam'){
var html = '
';
e_dlv.innerHTML = html;
refreshGam('InArtSpecialLink');
}else if(ad_type === 'logly'){
var html = '
';
e_dlv.innerHTML = html;
loglySet(g_id);
}else if(ad_type === 'google'){
var html = '
';
e_dlv.innerHTML = html;
googletag.cmd.push(function(){
var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
googletag.display('div-gpt-ad-1551176482959-0');
googletag.pubads().refresh([slot8]);
});
}
};
var insert_ok = function(_target,_str){
var clearfix = d.createElement('div');
clearfix.className = 'colBoxClear';
if(ad_float_fix){
e_body.insertBefore(e_dlv,_target);
e_body.insertBefore(clearfix,_target.nextElementSibling);
}else{
e_body.insertBefore(e_dlv,_target);
}
set_dlv();
};
var insert_ng = function(_str){
e_dlv.style.display = 'none';
};
var main = function(){
var e_nodes = e_body.childNodes; // BODY �����q�v�f
var e_tags = []; // BODY �����^�O
var p_num = []; // BODY ���� P �^�O�ʒu
var p_target_num; // �g�}����ʒu
var o_float = {}; // ��荞�ݗv�f
var o_this = {}; // �A�N�e�B�u�^�O
var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O
var flag_insert = 0; // �}���t���O
// ��荞�ݗv�f�`�F�b�N
var check_float = function(_e){
var e = 0;
if(_e.id.match(/^col\d{3}(l|r)$/)){
e = _e;
}
return e;
};
// �v�f�� Y ���W�ƍ����̍��v�l
var get_element_y = function(_e){
var ey = 0;
var eh = _e.offsetHeight;
while(_e){
ey += _e.offsetTop;
_e = _e.offsetParent;
}
return ey + eh;
};
var check_ptag = function(_e){
var e = 0;
if(_e.tagName && _e.tagName === 'P'){
e = _e;
}
return e;
};
var try_insert = function(){
p_target_num = Math.floor(p_num.length / 2) - 1;
if(p_target_num >= _maxrange) p_target_num = _maxrange;
if(dis_con) p_target_num = 0;
for(var i = p_num[p_target_num]; i < e_tags.length; i++){
o_this.e = check_ptag(e_tags[i]);
if(o_this.e){
o_next.e = check_ptag(e_tags[i + 1]);
if(o_next.e){
if(!o_float.e || check_float(e_tags[i - 1])){
o_float.e = check_float(e_tags[i - 1]);
o_float.n = i - 1;
}
if(o_float.e && o_float.n < i + 1){
o_float.y = get_element_y(o_float.e);
o_this.y = get_element_y(o_this.e);
set_line(o_float.y,'red');
set_line(o_this.y,'blue');
if(o_float.y < o_this.y){
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���');
break;
}
}else{
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�');
break;
}
}
}else{
o_float = {};
}
}
if(!flag_insert){
insert_ng('�}���ʒu�Ȃ�');
}
};
// �S�q�v�f����^�O�̂ݔz��ɓ����
for(var i = 0; i < e_nodes.length; i++){
if(e_nodes[i].tagName){
e_tags.push(e_nodes[i]);
}
}
// �S�^�O���� P �^�O�ʒu��z��ɓ����
for(var i = 0; i < e_tags.length; i++){
if(e_tags[i].tagName === 'P') p_num.push(i);
// �ŏ��̉�荞�ݗv�f���i�[
if(!o_float.e){
o_float.e = check_float(e_tags[i]);
o_float.y = get_element_y(o_float.e);
o_float.n = i;
}
}
if(p_num.length >= _threshold){
try_insert();
}else{
insert_ng('P �^�O ' + _threshold + ' �ȉ�');
}
};
if(e_body){
main();
}else{
insert_ng('�L���{���Ȃ�');
}
})(document,4,5);