Skip to content

Instantly share code, notes, and snippets.

@larsw
Created January 29, 2013 10:15
Show Gist options
  • Save larsw/4663237 to your computer and use it in GitHub Desktop.
Save larsw/4663237 to your computer and use it in GitHub Desktop.
Mono.Simd.SimdRuntime.IsMethodAccelerated problems
// re. http://docs.go-mono.com/?link=T%3aMono.Simd.SimdRuntime ...
// tried :
static bool MinimalSimdSupport()
{
return SimdRuntime.IsMethodAccelerated (typeof (Vector4f), "op_Addition") &&
SimdRuntime.IsMethodAccelerated (typeof (Vector4f), "op_Multiply") &&
SimdRuntime.IsMethodAccelerated (typeof (VectorOperations), "Shuffle", typeof (Vector4f), typeof (ShuffleSel));
}
static bool EnhancedSimdSupport()
{
return SimdRuntime.IsMethodAccelerated (typeof (VectorOperations), "HorizontalAdd", typeof (Vector4f), typeof (Vector4f)) &&
SimdRuntime.IsMethodAccelerated (typeof (Vector4f), "op_Multiply");
}
static void Main(string[] args)
{
Console.WriteLine("Minimal SIMD Support: " + MinimalSimdSupport());
Console.WriteLine("Enhanched SIMD Support: " + EnhancedSimdSupport());
}
}
// ===== FUU:
Unhandled Exception:
System.Reflection.AmbiguousMatchException: Ambiguous matching in method resolution
at System.Reflection.Binder.FindMostDerivedMatch (System.Reflection.MethodBase[] match) [0x00000] in <filename unknown>:0
at System.MonoType.GetMethodImpl (System.String name, BindingFlags bindingAttr, System.Reflection.Binder binder, CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers) [0x00000] in <filename unknown>:0
at System.Type.GetMethod (System.String name) [0x00000] in <filename unknown>:0
at Mono.Simd.SimdRuntime.MethodAccelerationMode (System.Type type, System.String method, System.Type[] signature) [0x00000] in <filename unknown>:0
at Mono.Simd.SimdRuntime.IsMethodAccelerated (System.Type type, System.String method) [0x00000] in <filename unknown>:0
at VectorizedQueryTest.Program.MinimalSimdSupport () [0x00000] in <filename unknown>:0
at VectorizedQueryTest.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Reflection.AmbiguousMatchException: Ambiguous matching in method resolution
at System.Reflection.Binder.FindMostDerivedMatch (System.Reflection.MethodBase[] match) [0x00000] in <filename unknown>:0
at System.MonoType.GetMethodImpl (System.String name, BindingFlags bindingAttr, System.Reflection.Binder binder, CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers) [0x00000] in <filename unknown>:0
at System.Type.GetMethod (System.String name) [0x00000] in <filename unknown>:0
at Mono.Simd.SimdRuntime.MethodAccelerationMode (System.Type type, System.String method, System.Type[] signature) [0x00000] in <filename unknown>:0
at Mono.Simd.SimdRuntime.IsMethodAccelerated (System.Type type, System.String method) [0x00000] in <filename unknown>:0
at VectorizedQueryTest.Program.MinimalSimdSupport () [0x00000] in <filename unknown>:0
at VectorizedQueryTest.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment