[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:003930] NArray ループ高速実行用 DSL



�߷�Ǥ���

NArray ��äƤ����ˡ��᥽�åɸƤӽФ��Ǥ�б���褺��Ruby �ǥ롼�פ��ɬ����ǤƤ����������פ��ޤ���
������٤��Τǡ�����dz���饤�֥���ꤿ���ʤ뤳�Ȥ�����������
���ʤΤǡ���������Ȥ�����������

�����ǡ� NArray �롼�׼¹�Ѥ�DSL �饤�֥����������
Ruby �ε�ˡ�ǵ��Ҥ��������ɤ� C �Ǽ¹Ԥ�������
���ߤΤȤ�������黻�ˤ���������Ƥ��ޤ���
http://davis.gfd-dennou.org/rubygadgets/ja/?%28Library%29+NArrayExt%3A+NArray%E3%81%AE%E6%8B%A1%E5%BC%B5%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E5%8B%95%E7%9A%84%E3%81%AB%E4%BD%9C%E3%82%8B


��ʤߤˤ�������ǽ񤯤��Ȥ��Ǥ��ޤ���


require "./narray_ext"
include NumRu

N = 100
M = 1000
x = NArray.sint(N,M).indgen
y = NArray.sint(N,M).indgen(1)
z = NArray.sint(N,M)   # ����������ArrayExt.c_loop(x,y,z) do |x,y,z| # ���Υ֥����� C �Ǽ¹Ԥ���
  loop(1,M-2) do |j|
    loop(0,N-1) do |i|
      z[i,j] = x[i,j] * ( y[i,j+1] - y[i,j-1] )
    end
  end
end



���Ĥ��Ǻ����Τǡ���������⤢�뤫�⤷��������ˡ����������narray.h �Υѥ�����ؤ��ƴĶ��ˤ��ƥ��顼�ˤʤ��פ��ޤ���
���ξ��ϡ� narray_ext.rb ������������������
��ˤ��ơ����������������ޤ���;
�ޤ���NumRu-NArray �ǻ���Τǡ� NArray �Ǥ����������ɤ���ʬ����������̣������������������
(�������Ȥ������ʤ������ NumRu-NArray ����������⤷������


�߷��

-- 
Seiya Nishizawa
RIKEN Advanced Institute for Computational Science
Tel: +81-78-940-5754, Fax: +81-78-304-4972
7-1-26, Minatojima-minami-machi, Chuo-ku, Kobe, Hyogo 650-0047, Japan