|
[Sponsors] |
[OpenFOAM.org] OpenFOAM on embedded systems (Pi, Pi2, Edison & BBB) |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 28, 2014, 06:57 |
OpenFOAM on embedded systems (Pi, Pi2, Edison & BBB)
|
#1 |
Super Moderator
Takuya OSHIMA
Join Date: Mar 2009
Location: Niigata City, Japan
Posts: 518
Blog Entries: 1
Rep Power: 20 |
Hi,
I share some numbers on benchmarking the damBreak/damBreakFine cases of OpenFOAM-2.3.1 on embedded systems. The systems are not meant for real computation, but OpenFOAM was a handy benchmark code when I wanted to get an idea about the performance of the systems.
Takuya Last edited by 7islands; March 5, 2015 at 10:53. Reason: Note the secific ARM arch; Add the Xeon 4-way result |
|
March 5, 2015, 10:49 |
|
#2 |
Super Moderator
Takuya OSHIMA
Join Date: Mar 2009
Location: Niigata City, Japan
Posts: 518
Blog Entries: 1
Rep Power: 20 |
I ran the tests this time on a Raspberry Pi 2 and a BeagleBone Black.
*2: -march=armv7-a -mfpu=neon-vfpv4 *3: -march=armv7-a -mfpu=vfpv3. The Pi-compatible binary did not run. Notes
The summary: Some of the interesting points of the figure are
[1] Learning Cortex-A8 FP unit http://processors.wiki.ti.com/index.php/Cortex-A8 [2] Learning ARM FP unit versions and ARM-Linux ABI https://wiki.debian.org/ArmHardFloatPort/VfpComparison [3] Summary of FP-related options of GCC http://dench.flatlib.jp/opengl/fpu_vfp (in Japanese but the tables should be self-explanatory) Takuya Last edited by 7islands; March 7, 2015 at 00:58. Reason: Speedup numbers of Pi2 over Pi; useful links |
|
June 18, 2015, 08:37 |
|
#3 |
Member
Piotr Prusinski
Join Date: Oct 2009
Location: Warsaw, Poland
Posts: 67
Rep Power: 17 |
Hello,
I wonder whether you could share the binaries to others to test other cases on these platforms to extend your tests? Myself, I am interested in the version for RPi2, but encounter some difficulties in compilation on my own. Best regards, Piotrek |
|
June 19, 2015, 05:11 |
|
#4 |
Super Moderator
Takuya OSHIMA
Join Date: Mar 2009
Location: Niigata City, Japan
Posts: 518
Blog Entries: 1
Rep Power: 20 |
I'm afraid I can't as I don't have the time to package, support and maintain the binaries. But you can try the binaries built by Rheologic (http://rheologic.at/?q=downloads&language=en). I followed their compilation settings anyway.
T |
|
July 19, 2015, 04:55 |
|
#5 |
New Member
daniel
Join Date: Jun 2015
Posts: 22
Rep Power: 11 |
I have set up a raspberry pi cluster that runs openfoam if you still need help let me know
|
|
October 2, 2015, 07:10 |
Issue with OpenFOAM installation on Raspberry Pi
|
#6 |
New Member
Sreetej
Join Date: Feb 2014
Location: Singapore
Posts: 14
Rep Power: 12 |
Greetings
I am trying to install OpenFOAM on Raspberry Pi 2, Model B. I downloaded the OpenFOAM for Pi from RheologicRemix-2.2.1 for Raspberry Pi (Raspbian) ARMv6 (without Paraview) download link. Hope everybody got it from there too. I am having an issue installing it into the Pi. Can anyone briefly explain the procedure? I used tar-xf to extract the OpenFOAM and tried installing it. When I did ./Allwmake in ThirdParty folder. I got an error.. ./Allwmake: 34: ./Allwmake: wmakeCheckPwd: not found Error: Current directory is not $WM_THIRD_PARTY_DIR The environment variables are inconsistent with the installation. Check the OpenFOAM entries in your dot-files and source them. I know there are posts regarding this error, but it would be great if you can list the steps for installation. Thanks in advance..!! |
|
October 4, 2015, 16:29 |
|
#7 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Quick answer: Instructions available at http://www.cfd-online.com/Forums/ope...tml#post556209 - post #13
|
|
October 19, 2018, 10:36 |
|
#8 |
New Member
Gerhard Stein
Join Date: May 2015
Posts: 5
Rep Power: 11 |
I tried building with Ubuntu 18.04.1 on a Banana Pi M64.
For what I have seen there is some support for ARM64. I get errors of these kinds: Code:
======================================== Compile OpenFOAM libraries no git description found wmakeLnInclude: linking include files to OpenFOAM/lnInclude wmakeLnInclude: linking include files to OSspecific/POSIX/lnInclude wmake dummy wmake dummy wmake mpi wmake mpi wmake libo (POSIX) wmake OpenFOAM g++ -std=c++11 -DOPENFOAM=1806 -DlinuxARM64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -Wno-unknown-pragmas -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -DNoRepository -ftemplate-depth-100 -I/home/gerstrong/OpenFOAM/Op$ nFOAM-v1806/build/linuxARM64GccDPInt32Opt/src/OpenFOAM -IlnInclude -I. -I/home/gerstrong/OpenFOAM/OpenFOAM-v1806/src/OpenFOAM/lnInclude -I/home/gerstrong/OpenFOAM/OpenFOAM-v1806/src/OS$ pecific/POSIX/lnInclude -fPIC -c global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C -o /home/gerstrong/OpenFOAM/OpenFOAM-v1806/build/linuxARM64GccDPI$ t32Opt/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.o In file included from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H:810:0, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C:26: global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperationTemplates.C: In instantiation of ‘Type Foam::fileOperations::masterUncollatedFileOperation::scatterList$ const Foam::UList<T>&, int, Foam::label) const [with Type = long int; Foam::label = int]’: global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperationTemplates.C:100:45: required from ‘Type Foam::fileOperations::masterUncollatedFileOperation::masterOp$ const Foam::fileName&, const fileOp&, int, Foam::label) const [with Type = long int; fileOp = Foam::fileOperations::masterUncollatedFileOperation::fileSizeOp; Foam::label = int]’ global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C:1016:5: required from here global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperationTemplates.C:46:16: error: ambiguous overload for ‘operator<<’ (operand types are ‘Foam::UOPstream’ and $ const long int’) os << masterLst[proci]; ~~~^~~~~~~~~~~~~ In file included from lnInclude/IOstream.H:45:0, from lnInclude/Istream.H:46, from lnInclude/ISstream.H:39, from lnInclude/fileOperation.H:41, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H:61, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C:26: lnInclude/char.H:50:10: note: candidate: Foam::Ostream& Foam::operator<<(Foam::Ostream&, char) Ostream& operator<<(Ostream&, const char); ^~~~~~~~ In file included from lnInclude/IOstream.H:46:0, from lnInclude/Istream.H:46, from lnInclude/ISstream.H:39, from lnInclude/fileOperation.H:41, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H:61, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C:26: lnInclude/bool.H:49:10: note: candidate: Foam::Ostream& Foam::operator<<(Foam::Ostream&, bool) Ostream& operator<<(Ostream& os, const bool b); ^~~~~~~~ In file included from lnInclude/bool.H:59:0, from lnInclude/IOstream.H:46, from lnInclude/Istream.H:46, from lnInclude/ISstream.H:39, from lnInclude/fileOperation.H:41, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H:61, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C:26: lnInclude/direction.H:53:10: note: candidate: Foam::Ostream& Foam::operator<<(Foam::Ostream&, Foam::direction) Ostream& operator<<(Ostream& os, const direction d); ^~~~~~~~ In file included from lnInclude/int.H:38:0, from lnInclude/label.H:39, from lnInclude/IOstream.H:47, from lnInclude/Istream.H:46, from lnInclude/ISstream.H:39, from lnInclude/fileOperation.H:41, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H:61, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C:26: lnInclude/int16.H:62:10: note: candidate: Foam::Ostream& Foam::operator<<(Foam::Ostream&, int16_t) Ostream& operator<<(Ostream& os, const int16_t val); ^~~~~~~~ In file included from lnInclude/int.H:39:0, from lnInclude/label.H:39, from lnInclude/IOstream.H:47, from lnInclude/Istream.H:46, from lnInclude/ISstream.H:39, from lnInclude/fileOperation.H:41, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H:61, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C:26: lnInclude/int32.H:108:10: note: candidate: Foam::Ostream& Foam::operator<<(Foam::Ostream&, int32_t) Ostream& operator<<(Ostream& os, const int32_t val); ^~~~~~~~ In file included from lnInclude/int.H:40:0, from lnInclude/label.H:39, from lnInclude/IOstream.H:47, from lnInclude/Istream.H:46, from lnInclude/ISstream.H:39, from lnInclude/fileOperation.H:41, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H:61, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C:26: lnInclude/int64.H:109:10: note: candidate: Foam::Ostream& Foam::operator<<(Foam::Ostream&, int64_t) Ostream& operator<<(Ostream& os, const int64_t val); ^~~~~~~~ .... In file included from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H:810:0, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C:26: global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperationTemplates.C:60:12: error: no match for ‘operator>>’ (operand types are ‘Foam::UIPstream’ and ‘long int’) is >> myResult; ~~~^~~~~~~~~~~ In file included from lnInclude/IOstream.H:45:0, from lnInclude/Istream.H:46, from lnInclude/ISstream.H:39, from lnInclude/fileOperation.H:41, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H:61, from global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C:26: lnInclude/char.H:49:10: note: candidate: Foam::Istream& Foam::operator>>(Foam::Istream&, char&) <near match> Istream& operator>>(Istream&, char&); ^~~~~~~~ It seems like some typedefs are missing or the typedef do not match that well with ARM64 Architecture. |
|
October 19, 2018, 11:55 |
|
#9 |
New Member
Gerhard Stein
Join Date: May 2015
Posts: 5
Rep Power: 11 |
Well, for now I'm using the OpenFOAM provided by the Ubuntu Repos.
Code:
apt install openfoam openfoam-examples libopenfoam With that version I can simulate just fine. I might take a second look on the build problem later. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Map of the OpenFOAM Forum - Understanding where to post your questions! | wyldckat | OpenFOAM | 10 | September 2, 2021 06:29 |
OpenFOAM Training Jan-Apr 2017, Virtual, London, Houston, Berlin | cfd.direct | OpenFOAM Announcements from Other Sources | 0 | September 21, 2016 12:50 |
Can openfoam solve problems in cylindrical and spherical coordinate systems? | GGerber | OpenFOAM Running, Solving & CFD | 6 | February 5, 2015 11:37 |
Running damBreak with OpenFOAM 15 and Open MPI on mixed up CPU Systems | engys | OpenFOAM Running, Solving & CFD | 8 | November 26, 2008 05:57 |
Adventure of fisrst openfoam installation on Ubuntu 710 | jussi | OpenFOAM Installation | 0 | April 24, 2008 15:25 |