Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CodeGen] Disable -mfloat-abi hard option for LLVM < 6.0 #4071

Merged
merged 1 commit into from
Oct 8, 2019

Conversation

mbaret
Copy link
Contributor

@mbaret mbaret commented Oct 7, 2019

The -mfloat-abi hard option does not work for LLVM < 6.0 as it is ignored. This adds a fatal error when using unsupported LLVM versions so that the failure
is not silent.

The -mfloat-abi hard option does not work for LLVM < 6.0 as it is ignored.
This adds a fatal error when using unsupported LLVM versions so that the failure
is not silent.
@tqchen
Copy link
Member

tqchen commented Oct 7, 2019

Thanks @mbarrett97 !

@yzhliu yzhliu merged commit 2ee0f65 into apache:master Oct 8, 2019
@sunzj
Copy link
Contributor

sunzj commented Oct 14, 2019

@mbarrett97 which LLVM version works with -mfloat-abi hard option. I use LLVM 8.0 with "mfloat-abi=hard", the result was still not as expected.

@mbaret
Copy link
Contributor Author

mbaret commented Oct 14, 2019

In what way was it unexpected? If you print out the assembly source are the correct registers being used?

@sunzj
Copy link
Contributor

sunzj commented Oct 14, 2019

@mbarrett97 the output, test mobile-net, same input but the output don't match with the tflite's result (verify by np.testing.assert_allclose()).
android version is OK, on yocto platform, toolchain is hard float,can't change to soft float. Inference result isn't right, but don't know which op cause the problem.
As you said on #4072 "only 6.0 gives the correct result." I'll try LLVM 6.0.

@sunzj
Copy link
Contributor

sunzj commented Oct 14, 2019

@mbarrett97 test LLVM6.0,8.0,9.0, all failed, it cause by op depthwise_conv2d_nchw. but not failed everytime, also relate to the schedule config.

@mbaret
Copy link
Contributor Author

mbaret commented Oct 14, 2019

This issue was specifically related to a problem in the LLVM compilation which resulted in layers such as softmax giving nonsense results. It was fully resolved for me by upgrading from LLVM 4.0 to LLVM 6.0 for all the networks I tested. I wouldn't expect this issue to affect depthwise_conv2d, so it sounds like you have a different problem.

anijain2305 pushed a commit to anijain2305/tvm that referenced this pull request Oct 17, 2019
The -mfloat-abi hard option does not work for LLVM < 6.0 as it is ignored.
This adds a fatal error when using unsupported LLVM versions so that the failure
is not silent.
wweic pushed a commit to neo-ai/tvm that referenced this pull request Oct 18, 2019
The -mfloat-abi hard option does not work for LLVM < 6.0 as it is ignored.
This adds a fatal error when using unsupported LLVM versions so that the failure
is not silent.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants