

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Lançado Mono 2.2 com estréia de Mono.Simd</title>
	<atom:link href="http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/</link>
	<description>Meus achados sobre tecnologia</description>
	<lastBuildDate>Wed, 16 Jun 2010 18:47:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Tony Alexander Hild</title>
		<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/comment-page-1/#comment-80428</link>
		<dc:creator>Tony Alexander Hild</dc:creator>
		<pubDate>Thu, 20 Aug 2009 21:38:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/?p=125#comment-80428</guid>
		<description>Criei um bug report: https://bugzilla.novell.com/show_bug.cgi?id=533079

Valew</description>
		<content:encoded><![CDATA[<p>Criei um bug report: <a href="https://bugzilla.novell.com/show_bug.cgi?id=533079" rel="nofollow">https://bugzilla.novell.com/show_bug.cgi?id=533079</a></p>
<p>Valew</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kumpera</title>
		<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/comment-page-1/#comment-80427</link>
		<dc:creator>kumpera</dc:creator>
		<pubDate>Thu, 20 Aug 2009 21:02:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/?p=125#comment-80427</guid>
		<description>Por favor entre com o bug no tracker do mono ou me mande 1 email, pq não consigo reproduzí-lo localmente e fazer troubleshooting pelo compentário de um blog não rola.</description>
		<content:encoded><![CDATA[<p>Por favor entre com o bug no tracker do mono ou me mande 1 email, pq não consigo reproduzí-lo localmente e fazer troubleshooting pelo compentário de um blog não rola.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Alexander Hild</title>
		<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/comment-page-1/#comment-80425</link>
		<dc:creator>Tony Alexander Hild</dc:creator>
		<pubDate>Thu, 20 Aug 2009 20:50:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/?p=125#comment-80425</guid>
		<description>Os resultados do console não foram enviados corretamente.

H:\SimdBug\SimdBug\bin\Debug&gt;mono -O=simd SimdBug.exe
[0, 0,01161598, 0, 0]
[5, 12, ?², ?]
[x:9, y:9, z:9]
[x:4, y:10, z:18]

H:\SimdBug\SimdBug\bin\Debug&gt;mono SimdBug.exe
[9, 9, 9, 9]
[5, 12, 21, 32]
[x:9, y:9, z:9]
[x:4, y:10, z:18]</description>
		<content:encoded><![CDATA[<p>Os resultados do console não foram enviados corretamente.</p>
<p>H:\SimdBug\SimdBug\bin\Debug&gt;mono -O=simd SimdBug.exe<br />
[0, 0,01161598, 0, 0]<br />
[5, 12, ?², ?]<br />
[x:9, y:9, z:9]<br />
[x:4, y:10, z:18]</p>
<p>H:\SimdBug\SimdBug\bin\Debug&gt;mono SimdBug.exe<br />
[9, 9, 9, 9]<br />
[5, 12, 21, 32]<br />
[x:9, y:9, z:9]<br />
[x:4, y:10, z:18]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Alexander Hild</title>
		<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/comment-page-1/#comment-80424</link>
		<dc:creator>Tony Alexander Hild</dc:creator>
		<pubDate>Thu, 20 Aug 2009 20:48:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/?p=125#comment-80424</guid>
		<description>Este teste foi realizado no Windows, e no Linux eu realizei outros testes com resultados parecidos. O processador usado no teste tem suporte somente para SSE. Com op_Addition e op_Multiply aceleradas para o Vector4f, mas o Shuffle não é acelerado. Neste teste, o problema ocorreu no Vector4f e não ocorreu na minha estrutura. Este problema ocorre de forma aleatória, e não ocorre quando a otimização está desabilitada.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mono.Simd;
using System.Runtime.InteropServices;

namespace SimdBug
{
        class Program
        {
                static void Main(string[] args)
                {

                        Vector4f v1 = new Vector4f(3), v2 = new Vector4f(3);
                        Console.WriteLine(v1 * v2);

                        v1 = new Vector4f(1, 2, 3, 4);
                        v2 = new Vector4f(5, 6, 7, 8);
                        Console.WriteLine(v1 * v2);

                        Vector3 va = new Vector3(3), vb = new Vector3(3);
                        Console.WriteLine(va * vb);

                        va = new Vector3(1, 2, 3);
                        vb = new Vector3(4, 5, 6);
                        Console.WriteLine(va * vb);

                }
        }

        [StructLayout(LayoutKind.Explicit, Pack = 0, Size = 16)]
        public struct Vector3
        {

                [FieldOffset(0)]
                public float X;
                [FieldOffset(4)]
                public float Y;
                [FieldOffset(8)]
                public float Z;
                [FieldOffset(12)]
                public float W;

                public Vector3(float x, float y, float z)
                {
                        X = x;
                        Y = y;
                        Z = z;
                        W = 0;
                }

                public Vector3(float f)
                {
                        X = f;
                        Y = f;
                        Z = f;
                        W = 0;
                }

                public static Vector3 operator *(Vector3 left, Vector3 right)
                {
                        unsafe
                        {
                                *(Vector4f*)&amp;left *= *(Vector4f*)&right;
                                return left;
                        }
                }

                public override string ToString()
                {
                        return string.Format(&quot;[x:{0}, y:{1}, z:{2}]&quot;, X, Y, Z);
                }

        }
}

H:\SimdBug\SimdBug\bin\Debug&gt;mono -O=simd SimdBug.exe

mono SimdBug.exe


[x:9, y:9, z:9]
[x:4, y:10, z:18]


Mono JIT compiler version 2.4.2.3 (tarball)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
        TLS:           normal
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       normal
        Notification:  Thread + polling
        Architecture:  x86
        Disabled:      none

Obrigado pela atenção,

Tony</description>
		<content:encoded><![CDATA[<p>Este teste foi realizado no Windows, e no Linux eu realizei outros testes com resultados parecidos. O processador usado no teste tem suporte somente para SSE. Com op_Addition e op_Multiply aceleradas para o Vector4f, mas o Shuffle não é acelerado. Neste teste, o problema ocorreu no Vector4f e não ocorreu na minha estrutura. Este problema ocorre de forma aleatória, e não ocorre quando a otimização está desabilitada.</p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Text;<br />
using Mono.Simd;<br />
using System.Runtime.InteropServices;</p>
<p>namespace SimdBug<br />
{<br />
        class Program<br />
        {<br />
                static void Main(string[] args)<br />
                {</p>
<p>                        Vector4f v1 = new Vector4f(3), v2 = new Vector4f(3);<br />
                        Console.WriteLine(v1 * v2);</p>
<p>                        v1 = new Vector4f(1, 2, 3, 4);<br />
                        v2 = new Vector4f(5, 6, 7, 8);<br />
                        Console.WriteLine(v1 * v2);</p>
<p>                        Vector3 va = new Vector3(3), vb = new Vector3(3);<br />
                        Console.WriteLine(va * vb);</p>
<p>                        va = new Vector3(1, 2, 3);<br />
                        vb = new Vector3(4, 5, 6);<br />
                        Console.WriteLine(va * vb);</p>
<p>                }<br />
        }</p>
<p>        [StructLayout(LayoutKind.Explicit, Pack = 0, Size = 16)]<br />
        public struct Vector3<br />
        {</p>
<p>                [FieldOffset(0)]<br />
                public float X;<br />
                [FieldOffset(4)]<br />
                public float Y;<br />
                [FieldOffset(8)]<br />
                public float Z;<br />
                [FieldOffset(12)]<br />
                public float W;</p>
<p>                public Vector3(float x, float y, float z)<br />
                {<br />
                        X = x;<br />
                        Y = y;<br />
                        Z = z;<br />
                        W = 0;<br />
                }</p>
<p>                public Vector3(float f)<br />
                {<br />
                        X = f;<br />
                        Y = f;<br />
                        Z = f;<br />
                        W = 0;<br />
                }</p>
<p>                public static Vector3 operator *(Vector3 left, Vector3 right)<br />
                {<br />
                        unsafe<br />
                        {<br />
                                *(Vector4f*)&amp;left *= *(Vector4f*)&right;<br />
                                return left;<br />
                        }<br />
                }</p>
<p>                public override string ToString()<br />
                {<br />
                        return string.Format(&#8221;[x:{0}, y:{1}, z:{2}]&#8220;, X, Y, Z);<br />
                }</p>
<p>        }<br />
}</p>
<p>H:\SimdBug\SimdBug\bin\Debug&gt;mono -O=simd SimdBug.exe</p>
<p>mono SimdBug.exe</p>
<p>[x:9, y:9, z:9]<br />
[x:4, y:10, z:18]</p>
<p>Mono JIT compiler version 2.4.2.3 (tarball)<br />
Copyright (C) 2002-2008 Novell, Inc and Contributors. <a href="http://www.mono-project.com" rel="nofollow">http://www.mono-project.com</a><br />
        TLS:           normal<br />
        GC:            Included Boehm (with typed GC)<br />
        SIGSEGV:       normal<br />
        Notification:  Thread + polling<br />
        Architecture:  x86<br />
        Disabled:      none</p>
<p>Obrigado pela atenção,</p>
<p>Tony</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kumpera</title>
		<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/comment-page-1/#comment-80419</link>
		<dc:creator>kumpera</dc:creator>
		<pubDate>Thu, 20 Aug 2009 15:13:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/?p=125#comment-80419</guid>
		<description>Oi Tony.

Me mande um exemplo completo que mostre o problema ou então simplesmente adicione um bug no tracker do mono: http://tinyurl.com/nrdj8r

Baseado no seu exemplo não tenho como reproduzir o erro.</description>
		<content:encoded><![CDATA[<p>Oi Tony.</p>
<p>Me mande um exemplo completo que mostre o problema ou então simplesmente adicione um bug no tracker do mono: <a href="http://tinyurl.com/nrdj8r" rel="nofollow">http://tinyurl.com/nrdj8r</a></p>
<p>Baseado no seu exemplo não tenho como reproduzir o erro.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Alexander Hild</title>
		<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/comment-page-1/#comment-80418</link>
		<dc:creator>Tony Alexander Hild</dc:creator>
		<pubDate>Thu, 20 Aug 2009 14:55:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/?p=125#comment-80418</guid>
		<description>Olá Rodrigo,

Parabéns, deve ser muito legal trabalhar no projeto Mono.

Estou estudando a respeito de programação paralela e resolvi brincar um pouco com o Mono.Simd. Então criei uma classe 

        [StructLayout(LayoutKind.Explicit, Pack = 0, Size = 16)]
        public struct Vector3
        {

                [FieldOffset(0)]
                internal float X;
                [FieldOffset(4)]
                internal float Y;
                [FieldOffset(8)]
                internal float Z;
                [FieldOffset(12)]
                private float W;
}

que &quot;encapsula&quot; o seu Vector4f.

Mas, quando habilito a otimização SIMD (-O=simd), mesmo não fazendo nenhuma operação usando os op codes, alguns valores do meu vetor se perdem, e ficam como NaN. Acho que o é algum problema no JIT.

Se quiser eu posso criar um bug report e criar um caso de testes.

Falow,

Tony</description>
		<content:encoded><![CDATA[<p>Olá Rodrigo,</p>
<p>Parabéns, deve ser muito legal trabalhar no projeto Mono.</p>
<p>Estou estudando a respeito de programação paralela e resolvi brincar um pouco com o Mono.Simd. Então criei uma classe </p>
<p>        [StructLayout(LayoutKind.Explicit, Pack = 0, Size = 16)]<br />
        public struct Vector3<br />
        {</p>
<p>                [FieldOffset(0)]<br />
                internal float X;<br />
                [FieldOffset(4)]<br />
                internal float Y;<br />
                [FieldOffset(8)]<br />
                internal float Z;<br />
                [FieldOffset(12)]<br />
                private float W;<br />
}</p>
<p>que &#8220;encapsula&#8221; o seu Vector4f.</p>
<p>Mas, quando habilito a otimização SIMD (-O=simd), mesmo não fazendo nenhuma operação usando os op codes, alguns valores do meu vetor se perdem, e ficam como NaN. Acho que o é algum problema no JIT.</p>
<p>Se quiser eu posso criar um bug report e criar um caso de testes.</p>
<p>Falow,</p>
<p>Tony</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Damiao ( ddamy´s  )</title>
		<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/comment-page-1/#comment-71136</link>
		<dc:creator>Damiao ( ddamy´s  )</dc:creator>
		<pubDate>Sun, 08 Feb 2009 01:12:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/?p=125#comment-71136</guid>
		<description>Meus parebens, você é show!! Ainda vou entender este código como disse o nosso amigo acima. Vlw!!</description>
		<content:encoded><![CDATA[<p>Meus parebens, você é show!! Ainda vou entender este código como disse o nosso amigo acima. Vlw!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kumpera</title>
		<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/comment-page-1/#comment-70567</link>
		<dc:creator>kumpera</dc:creator>
		<pubDate>Wed, 21 Jan 2009 13:21:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/?p=125#comment-70567</guid>
		<description>O Moonlight é a alternativa de RIA com mono. Lembrando que por ser software livre, poderá ser usado de forma muito mais ampla e flexivel que o Silverlight.</description>
		<content:encoded><![CDATA[<p>O Moonlight é a alternativa de RIA com mono. Lembrando que por ser software livre, poderá ser usado de forma muito mais ampla e flexivel que o Silverlight.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cristo</title>
		<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/comment-page-1/#comment-70566</link>
		<dc:creator>cristo</dc:creator>
		<pubDate>Wed, 21 Jan 2009 13:09:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/?p=125#comment-70566</guid>
		<description>Cara isso é demais, principalmente na possibilidade de usar isso em jogos, ah sim uma pergunta o que está faltando no mono atualmente é uma api mais específica para desenvolvimento RIA (sem ser silverlight, mas algo próprio e mais abrente), com java já fizeram JavaFX, só falta mesmo algo para Mono, mas único.</description>
		<content:encoded><![CDATA[<p>Cara isso é demais, principalmente na possibilidade de usar isso em jogos, ah sim uma pergunta o que está faltando no mono atualmente é uma api mais específica para desenvolvimento RIA (sem ser silverlight, mas algo próprio e mais abrente), com java já fizeram JavaFX, só falta mesmo algo para Mono, mas único.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rod</title>
		<link>http://www.kumpera.net/blog/index.php/2009/01/14/lancado-mono-22-com-estreia-de-monosimd/comment-page-1/#comment-70531</link>
		<dc:creator>Rod</dc:creator>
		<pubDate>Tue, 20 Jan 2009 19:01:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/?p=125#comment-70531</guid>
		<description>Meus sinceros parabens!!!!
E que continue sempre contribuindo para o Mono.</description>
		<content:encoded><![CDATA[<p>Meus sinceros parabens!!!!<br />
E que continue sempre contribuindo para o Mono.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
