gakushin logo
SFMT logo

SIMD-oriented Fast Mersenne Twister (SFMT):
twice faster than Mersenne Twister*1.

English Version

�ǿ�����

���

SFMT �ˤĤ���

SFMT��2006ǯ�ˡ� �����ö����Ȥ��λ�Ƴ������ ��ƣ�����ˤ�äơ� ��ȯ���줿�����������פΥ�륻��̡��ĥ������Ǥ������르�ꥺ�� ��MCQMC 2006 ����𤵤�ޤ����� MCQMC2006 �β��Ͽ����ʸ���Ǻܤ���Ƥ��ޤ��� (ʸ������ϡ����������� ��Ϣ��ʸ�Υڡ����򻲾Ȥ��Ƥ���������) SFMT�������ե����ɥХå����եȥ쥸�������������������ǡ� ���٤�128�ӥåȤε����������������褦�ˤʤäƤ��ޤ��� SFMT�ϺǶ��CPU��¿�ʳ��ѥ��ץ饤���SIMD �Ȥ��ä��������ǽ�Ϥ��θ�����߷פ���Ƥ��ޤ��� 32�ӥåȤ����64�ӥåȤ������������ư�������Ǥν��Ϥ⥵�ݡ��Ȥ��Ƥ��ޤ���

SFMT��¿���η׻����Ķ��ˤ����ơ� MT�����®�Ǥ��뤳�Ȥ����Խ���ޤ��� �������®�٤����ǤϤ��� v�ӥå����٤μ�������ʬ�����ˤ����Ƥ�����������ޤ��� �ޤ��� ��Ķ����֤���β�����MT��ꤺ�äȹ�®�Ǥ��� �ܺ٤ˤĤ��Ƥϡ� ��ƣ��������ʸ�ʱ�ʸ�ˤ򻲾Ȥ��Ƥ���������

SFMT�μ����Ǥ���SFMT19937�ϡ��ʲ��λ��ĤδĶ��ǥ���ѥ���Ǥ��ޤ���

  1. SIMD̿��ʤ���ɸ��C�Ķ�
  2. ����ƥ��SSE2��������CPU�Ȥ��ε�ǽ�򥵥ݡ��Ȥ���C ����ѥ���Τ���Ķ�
  3. AltiVec̿���������CPU�Ȥ��ε�ǽ�򥵥ݡ��Ȥ���C����ѥ���Τ���Ķ�

���줾��δĶ��ˤ����ơ�SFMT ��MT����®�Ǥ����� ®������ʱ�ʸ�ˤ򻲾Ȥ��Ƥ���������

SFMT �ζ���ʬ�ۼ�����ɽ��Ǻܤ��ޤ�����32bit �� 64bit�Ǥ���

Download SFMT which supports various period from 2607-1 to 2216091-1

���Υץ�������2007ǯ1��31���˰��̤˸�������ޤ����� ����ǡ������Ĥ��Х������뤫���Τ�ޤ��� �Х���𡢤���¾���ո��ʤɤ���ޤ����顢saito ���åȥޡ��� math.sci.hiroshima-u.ac.jp ����� m-mat ���åȥޡ��� math.sci.hiroshima-u.ac.jp �ޤǥ᡼�뤷�Ƥ���������

versionarchivechanges
new! 1.5.1 SFMT-src-1.5.1.zip
SFMT-src-1.5.1.tar.gz
Kouhei Saitou�����𤵤줿�� �����ݾڤ�SFMT-common.h�ˤ��ä�����Ū�Х����������ޤ����� (2017/2/22)
1.5 SFMT-src-1.5.zip
SFMT-src-1.5.tar.gz
Akio Takahashi�����󤫤���𤵤줿��53bit double ���ϻ��ΥХ��������ޤ����� [0,1) ��֤�doube ����Ϥ���Ϥ���1.0����Ϥ��뤳�Ȥ�����ޤ����� (2017/2/7)
1.4.1 SFMT-src-1.4.1.zip
SFMT-src-1.4.1.tar.gz
Dirk Steenpass�����󤫤���𤵤줿��MSC ����ѥ������ error �������ޤ����� (2013/12/19)
1.4 SFMT-src-1.4.zip
SFMT-src-1.4.tar.gz
SFMT���������֤�¤�Τǻ��Ĥ褦���ѹ����ޤ����� �ؿ�̾�ȥޥ���̾��sfmt_�ޤ���SFMT_�ǻϤޤ�褦���ѹ����ޤ����� ���ΥС�������SFMT-jump�ǻ��Ѥ��뤿��˺�������ޤ����� ALTIVEC �� BIGENDIAN �ϰ��ڥƥ��Ȥ��Ƥ��ޤ��� �ʥƥ��ȴĶ����ʤ��ʤ�ޤ�����(2012/6/28)
1.3.3 SFMT-src-1.3.3.zip
SFMT-src-1.3.3.tar.gz
����ѥ���Υ�˥󥰤��򤱤뤿��ˡ�SSE2 �� ALTIVEC �����ꤵ�줿�Ȥ��� do_recursion �ؿ��򥳥�ѥ��뤷�ʤ��褦�ˤ��ޤ����� (2007/10/6)
1.3.2 SFMT-src-1.3.2.zip
SFMT-src-1.3.2.tar.gz
to_res53_mix �� genrand_res53_mix �ΥХ��������ޤ����� (2007/8/20)
1.3.1 SFMT-src-1.3.1.zip
SFMT-src-1.3.1.tar.gz
MSC �ǥ���ѥ��륨�顼�ˤʤ�Х��������ޤ����� 32 bit�����������53bit����double����������to_res53_mix()�� genrand_res53_mix()���ɲä��ޤ����� gcc �κ�Ŭ�����ץ����� -O9 ���� -O3 ���ѹ����ޤ����� MSC �� __forceinline ���ץ������ɲä��ޤ����� (2007/8/12)
1.3 SFMT-src-1.3.zip
SFMT-src-1.3.tar.gz
���� 2216091-1 �򥵥ݡ��Ȥ��ޤ����� BIG ENDIAN �˴ؤ���Х��������ޤ����� ���������������Τ���ˡ��ѥ�᡼���Υǡ������ɲä��ޤ����� OSX �ʳ���OS�� AltiVec ��Ȥ����Ȥ��θ���ޤ����� (2007/6/2)
1.2 SFMT-src-1.2.zip
SFMT-src-1.2.tar.gz
2607-1 ���� 2132049-1���ޤǤ��͡��ʼ��� �򥵥ݡ��Ȥ��ޤ������������ե������ޤȤ�ޤ�����vec_perm��������� �η����ְ�äƤޤ����������������㥹�Ȥ��ޤ�����(2007/3/1)
1.1 sfmt19937src-1.1.zip
sfmt19937src-1.1.tar.gz
�����ݾ���ˡ���������ؿ����ѹ�����ޤ����� Makefile�ȥɥ�����Ȥ��ѹ�����ޤ�����(2007/1/31)
1.0 sfmt19937src-1.0.zip
sfmt19937src-1.0.tar.gz
����

����������ɤ����ޤ������ʤ����ϡ������� �Υڡ��������äƤߤƤ���������

Double precision SIMD-oriented Fast Mersenne Twister (dSFMT)

dSFMT �γ�ȯ��Ū������������ư���������ؤ��Ѵ��Υ����Ȥ��򤱤뤳�Ȥˤ���ޤ��� dSFMT �� IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) ��������������ư���������������ľ���������ޤ��� �������äơ�dSFMT �� IEEE 754 ��������������ư������������Ѥ��� CPU �Ǥ������ѽ���ޤ���

dSFMT �������ν��Ϥ򥵥ݡ��Ȥ��ޤ���dSFMT �����ݡ��Ȥ���Τ� [1, 2), [0, 1), (0, 1], (0, 1) ���ϰϤ�ʬ�ۤ�����������ư�������� ������Ǥ����ޤ���2607-1 ���� 2216091-1 �� �Ǥ��͡��ʼ����򥵥ݡ��Ȥ��ޤ�����dSFMT ver. 2.1 �� 2521-1 ���� 2216091-1 �ޤǤ��͡��ʼ����򥵥ݡ��� ���ޤ�����

���Υץ�������2007ǯ3��12���˰��̤˸������줿�Ф���Ǥ��� �����Ĥ��Х������뤫���Τ�ޤ��� �Х���𡢤���¾���ո��ʤɤ���ޤ����顢 saito ���åȥޡ���(��) math.sci.hiroshima-u.ac.jp ����� m-mat ���åȥޡ���(��) math.sci.hiroshima-u.ac.jp �ޤǥ᡼�뤷�Ƥ��������� ������CC�ˤ���ʤɤ��ơ���Ͱ��Ƥˤ��Ƥ�������ȡ� ����������μ�֤��ʤ��ޤ���

dSFMT �Υ��르�ꥺ��ϡ����Υڡ����ǥ����ɤ��������줿�塢 MCQMC 2008 ��ȯɽ����ޤ��������ΤȤ��ˤϡ���� dSFMT ver. 2.0 �� �Ĥ����������ޤ����� ���줬ȯɽ�˻Ȥä� ���饤�ɡ�PDF�ե������ �Ǥ��� MCQMC 2008 �β��Ͽ�����Ǥ���ޤ�����

versionarchivechanges
new! 2.2.3 dSFMT-src-2.2.3.zip
dSFMT-src-2.2.3.tar.gz
nmake �Ǥ� make �������ڤˤʤ�褦�˾������� Makefile �������ޤ����� (2013/12/19)
2.2.2 dSFMT-src-2.2.2.zip
dSFMT-src-2.2.2.tar.gz
Visual C++ 2012 �ǥ���ѥ��륨�顼�ˤʤ���ʬ�������ޤ����� (2013/9/17)
2.2.1 dSFMT-src-2.2.1.zip
dSFMT-src-2.2.1.tar.gz
AltiVec �ѤΥ��ե������������ѹ����ޤ����� ����ޤǤν�����AltiVec�λ��ͤ�ȿ���Ƥ��ޤ����� (2013/2/21)
2.2 dSFMT-src-2.2.zip
dSFMT-src-2.2.tar.gz
SSE2 �Ѥ�����ν�������ѹ����ޤ����� dSFMT-common.h ��������ޤ����� ���ΥС������� dSFMT Jump �ǻ��ѽ���ޤ��� (2012/6/29)
2.1 dSFMT-src-2.1.zip
dSFMT-src-2.1.tar.gz
���ݡ��Ȥ��������2521-1 ���� 2216091-1 �ˤʤ�ޤ����� dsfmt_genrand_uint32���� unsigned int �ν��Ϥ򥵥ݡ��Ȥ��ޤ����� dSFMT����ư�������Ѥε������������Ǥ��������̤���ư���������� ���̤�������ɬ�פȤ�����ˡ����̤������Τ�����̤ε������������ ���Ѱդ������ؤ����ä��뤿��Ǥ��� (2009/4/18)
2.0 dSFMT-src-2.0.zip
dSFMT-src-2.0.tar.gz
���������ѹ�����ޤ��������ݡ��Ȥ���������ѹ�����ޤ����� ��Ĺ�������ˤĤ��Ƥϸ��ߥѥ�᡼���򸡺���Ǥ������Τ����ɲ� �����Ϥ��Ǥ����� ���������ѹ����줿��̡��������ޤ�ǰ�� ����ΤˤʤäƤ��ޤ�������®�٤���������ޤ���������������� ���Ѥ��ѿ��ϡ�cygwin�ǥ��顼�򵯤����ΤǺ�����ޤ��������ޤ� �Ȥ������ݡ��Ȥ��Ƥ�������ϡ�2521-1 ���� 219937-1 �Ǥ���dSFMT 2.0 �Ϥ���®����������ɸ�� ��ȯ����ޤ�����dSFMT ver. 1.xx ���ܼ�Ū�����꤬ȯ�����줿�� ���ǤϤ���ޤ���1.xx ��Ȥ�³���Ƥ�����Ϥ���ޤ��� (2008/8/26)
1.3 dSFMT-src-1.3.zip
dSFMT-src-1.3.tar.gz
C �������¤������Ѥ���褦�ˤ��ޤ����� LITTLE ENDIAN ��CPU��BIG ENDIAN��Ƚ�ꤷ�Ƥ��ޤ��Х��������ޤ����� �ؿ�̾��Ƭ��dsfmt_���դ���褦���ѹ����ޤ����� �����Ť�̾����ͭ���Ǥ����ޥ���̾���ѹ����ޤ�����������ϸŤ�̾����̵���Ǥ��� dSFMT.c �� dSFMT.h�򥤥󥯥롼�ɤ���桼���ץ������ϡ��̡��� ����ѥ��뤷�ƥ�󥯤��뤳�Ȥ��ʰ�������˽���ޤ����� ����ι�¤�ΥС�����󤫤�ϡ�dSFMT.h�򥤥󥯥롼�ɤ���Ȥ��ϡ� dSFMT.c �򥳥�ѥ��뤷���Ȥ���Ʊ�� DSFMT_MEXP ����ꤷ�� ����ѥ��뤹��ɬ�פ�����ޤ��� (2008/2/28)
1.2.1 dSFMT-src-1.2.1.zip
dSFMT-src-1.2.1.tar.gz
dSFMT.c �� #include <alitvec.h>���ɲä��ޤ����� (2007/8/29)
1.2 dSFMT-src-1.2.zip
dSFMT-src-1.2.tar.gz
���ա�������ͳ�ˤ�� dSFMT.xxx.out.txt �ե����뤬�ѹ�����ޤ����� test.c �ǡ�printf �ؿ���double�����ٻ��꤬�ְ�äƤ��ޤ����� Ĺ������ 2216091-1 �����ݡ��Ȥ���ޤ����� gcc ����ѥ���κ�Ŭ�����ץ���� -O9 ���� -O3 ���ѹ�����ޤ����� OSX �ʳ���OS�Ѥ�AltiVec�Υѥ�᡼�������ݡ��Ȥ���ޤ����� OSX �ʳ���OS�Ѥ�gcc�Υ���ѥ��륪�ץ���󤬥��ݡ��Ȥ���ޤ����� BSD�Ѥ� howto-compile.html���sample2 �Υ����ɤ���������ޤ����� �����ݾڥ����ɤ��������ޡ��Ȥˤʤ�ޤ����� BORLANDC �� Visual Studio ��inline����򥵥ݡ��Ȥ��ޤ����� (2007/8/22)
1.1 dSFMT-src-1.1.zip
dSFMT-src-1.1.tar.gz
2132049-1 �Ȥ���Ĺ�����������ݡ��Ȥ���ޤ����� BIG ENDIAN �ޥ���ǥ����å������顼�ˤʤ�Ȥ����Х�����������ޤ����� �����Ĥ����פʥХ�����������ޤ������� ���Ϥˤϱƶ����ʤ��Ϥ��Ǥ��� �����������ɤ˥�ե�������󥰤��ʤ���ޤ����� (2007/3/22)
1.0 dSFMT-src-1.0.zip
dSFMT-src-1.0.tar.gz
The first version. (2007/3/12)

���ޤ�����������ɽ���ʤ����ϡ� ������Υڡ����������������ɤ��Ƥ���������

SIMD�˺�Ŭ�����줿SFMT��Ȥ���CPU�ȥ���ѥ���

SIMD typeCPUsgcc optiongcc version
SSE2Intel: Pentium M, Pentium 4, core, core 2, etc
AMD: Athlon 64, Sempron, Turion 64, etc
see Wikipedia SSE2:CPUs supporting SSE2
-msse2 3.4 or later
AltiVecPowerPC G4, G5-faltivec3.3 or later

����ѥ���λ����ʱ�ʸ�ˤ⸫�Ƥ���������

License

MT��Ʊ�ͤˡ�SFMT�Ͼ������Ѥ�ޤ�ɤ����Ū�ˤ⼫ͳ�˻��Ѥ��뤳�Ȥ��Ǥ��ޤ��� �ܺ٤ˤĤ��Ƥϡ�LICENSE.txt���򸫤Ƥ��������� ����Ͻ���BSD�饤���󥹤Ǥ���

.

��륻��̡��ĥ������Υڡ����ء�


*1 ���θ�������ܳؽѿ�������ü����������Ȥ����������ƹԤ��Ƥ��ޤ���No. 18005: "����������������������������������ο�Ÿ���ȡ����μҲ�Ū����"
���θ�������ܳؽѿ�����ʳظ���������������Ƥ��ޤ��� No. 16204002, No. 19204002, No. 18654021.