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

ARROW-17440: [C++] Support RISC-V architecture #13902

Merged
merged 2 commits into from
Aug 17, 2022
Merged

Conversation

felixonmars
Copy link
Contributor

Signed-off-by: Felix Yan felixonmars@archlinux.org

@github-actions
Copy link

@github-actions
Copy link

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

@cyb70289
Copy link
Contributor

Did a quick test on x86 host with qemu and riscv ubuntu image. MemoryAdviseWillNeed utility test failed, probably because madvise(WILLNEED) doesn't work under qemu.

felixonmars and others added 2 commits August 17, 2022 02:45
Signed-off-by: Felix Yan <felixonmars@archlinux.org>
else()
set(ARROW_CPU_FLAG "x86")
message(FATAL_ERROR "Unknown system processor")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we want to be open-ended instead?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
message(FATAL_ERROR "Unknown system processor")
message(WARNING "Unknown system processor")

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My concern is if some patterns are missed in MATCHES list, CPU specific settings below may be skipped accidentally if user doesn't notice the message, e.g, without enabling SIMD flags.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, fair enough.

Copy link
Member

@pitrou pitrou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks @felixonmars and @cyb70289 !

@pitrou pitrou merged commit 050876c into apache:master Aug 17, 2022
@felixonmars felixonmars deleted the riscv branch August 17, 2022 08:55
@ursabot
Copy link

ursabot commented Aug 17, 2022

Benchmark runs are scheduled for baseline = 9d1bbaf and contender = 050876c. 050876c is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Failed ⬇️0.0% ⬆️0.0%] test-mac-arm
[Failed ⬇️0.0% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.0% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 050876c5 ec2-t3-xlarge-us-east-2
[Failed] 050876c5 test-mac-arm
[Failed] 050876c5 ursa-i9-9960x
[Finished] 050876c5 ursa-thinkcentre-m75q
[Finished] 9d1bbaff ec2-t3-xlarge-us-east-2
[Finished] 9d1bbaff test-mac-arm
[Failed] 9d1bbaff ursa-i9-9960x
[Finished] 9d1bbaff ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

@felixonmars
Copy link
Contributor Author

Did a quick test on x86 host with qemu and riscv ubuntu image. MemoryAdviseWillNeed utility test failed, probably because madvise(WILLNEED) doesn't work under qemu.

MemoryAdviseWillNeed is passing here on VisionFive v1 development board. However, I got multiple failures in arrow-flight-test like:

[ RUN      ] GrpcDoPutTest.TestFloats
/build/arrow/src/apache-arrow-8.0.1/cpp/src/arrow/flight/test_definitions.cc:690: Failure
Failed
'writer->Close()' failed with Invalid: Expected app_metadata to be foo bar but got \0\0\0\0\0\0\0. gRPC client debug context: UNKNOWN:Error received from peer ipv4:127.0.0.1:40397 {grpc_message:"Expected app_metadata to be foo bar but got \x00\x00\x00\x00\x00\x00\x00", grpc_status:3, created_time:"2022-08-17T15:58:30.647837384+03:00"}. Client context: OK
[  FAILED  ] GrpcDoPutTest.TestFloats (16 ms)

Retried a few times ending up with different subset of the test suite failing. I'm testing against arrow 8.0.1 though, not sure if they are already fixed.

@pitrou
Copy link
Member

pitrou commented Aug 17, 2022

@felixonmars Would be nice if you could test with git master. If the failure still occurs there, feel free to open a JIRA :-)

felixonmars added a commit to felixonmars/archriscv-packages that referenced this pull request Aug 19, 2022
- LTO is disabled for similar reason as #1620

- The `-DARROW_CPU_FLAG=riscv64` is no longer needed in a future version
  containing apache/arrow#13902

- Added to qemu-user-blacklist because QEMU doesn't support
  madvise(WILLNEED) properly (this includes qemu-system, actually)

- `nocheck` is needed for now as `arrow-flight-test` is failing with the
  current version but not on git master. Recheck on next release!
felixonmars added a commit to felixonmars/archriscv-packages that referenced this pull request Aug 20, 2022
- LTO is disabled for similar reason as #1620

- The `-DARROW_CPU_FLAG=riscv64` is no longer needed in a future version
  containing apache/arrow#13902

- Added to qemu-user-blacklist because QEMU doesn't support
  madvise(WILLNEED) properly (this includes qemu-system, actually)

- `nocheck` is needed for now as `arrow-flight-test` is failing with the
  current version but not on git master. Recheck on next release!
zagto pushed a commit to zagto/arrow that referenced this pull request Oct 7, 2022
Signed-off-by: Felix Yan <felixonmars@archlinux.org>

Lead-authored-by: Yibo Cai <yibo.cai@arm.com>
Co-authored-by: Felix Yan <felixonmars@archlinux.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants