Skip to content

testing ML.NET on ppc64le architeecture #6765

Description

@Sapana-Khemkar

I am trying to build ML.NET for ppc64le and run test suite.
I have gone through this
I tried first cross build as explained for arm and generated artifacts folder for ppc64le on x86 machine and then moved artifacts folder to ppc64le machine. But I cannot use ./build.sh --test command to run tests. Hence tried using dotnet test command as below

cd bin/Microsoft.ML.Tests/Release/net7.0 
dotnet test Microsoft.ML.Tests.dll

But almost all tests failed with below error:

Error Message: System.TypeInitializationException : The type initializer for 'Microsoft.ML.TestFramework.BaseTestClass' threw an exception. ---- System.NullReferenceException : Object reference not set to an instance of an object Stack Trace: at Microsoft.ML.RunTests.BaseTestBaseline..ctor(ITestOutputHelper output) in /root/sapana/machinelearning/test/Microsoft.ML.TestFramework/BaseTestBaseline.cs:line 31 at Microsoft.ML.RunTests.TestDataViewBase..ctor(ITestOutputHelper helper) in /root/sapana/machinelearning/test/Microsoft.ML.TestFramework/TestInitialization.cs:line 107 at Microsoft.ML.RunTests.TestDataPipeBase..ctor(ITestOutputHelper helper) in /root/sapana/machinelearning/test/Microsoft.ML.TestFramework/TestInitialization.cs:line 59 at Microsoft.ML.Tests.Transformers.CountTargetEncodingTests..ctor(ITestOutputHelper output) in /root/sapana/machinelearning/test/Microsoft.ML.Tests/Transformers/CountTargetEncodingTests.cs:line 17 at System.Reflection.ConstructorInvoker.InterpretedInvoke(Object obj, Span`1 args, BindingFlags invokeAttr) ----- Inner Stack Trace ----- at Microsoft.ML.TestFrameworkCommon.TestCommon.GetRepoRoot() in /root/sapana/machinelearning/test/Microsoft.ML.TestFrameworkCommon/TestCommon.cs:line 78 at Microsoft.ML.TestFramework.BaseTestClass..cctor() in /root/sapana/machinelearning/test/Microsoft.ML.TestFramework/BaseTestClass.cs:line 40 Failed Microsoft.ML.Tests.Transformers.CountTargetEncodingTests.TestSaveAndLoadExternalCountsMultipleColumns [1 ms]

I have tried to build natively on ppc64le machine with ubuntu 20.04. I have added ppc64le arch in makefile/project files (by referring arm arch). But I am getting warning as below and build failing after that due to code not generated as expected

CSC : warning CS8785: Generator 'EstimatorTypeGenerator' failed to generate source. It will not contribute to the output and compilation errors may occur as a result. Exception was of type 'TypeLoadException' with message 'Could not set up parent class, due to: Could not load type of field 'Microsoft.ML.AutoML.SourceGenerator.Template.EstimatorTypeBase:errorsField' (1) due to: Could not load file or assembly 'System.CodeDom, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.

Can someone help me how can I tests machinelearning repo on ppc64le? If cross build is right way then how to run tests on cross built artifacts?

Please Note: If I directly add ML.NET package reference and run basic sample on ppc64le machine it works. But I want to run all test cases and list down supported/not supported features.

Thanks in advance.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions