Message boards :
Number crunching :
Raspberry pi 3 and Milkyway@home
Message board moderation
Author | Message |
---|---|
Send message Joined: 10 Dec 14 Posts: 11 Credit: 3,312,862 RAC: 0 |
Hello everyone, I am interested in purchasing Raspberry Pi to be a stand alone BOINC machine. I know that the 3rd is faster than the previous ones, but still have a lot of catching up to do to match a PC crunching speed. That said I read online forums and a couple mentioned that Milkyway@home has work units that are compatible with Raspberry, however neither the BOINC project page so I am assuming this project does not support it, but wanted to double check. In either case has anyone used Raspberry for crunching? Has it been worthwhile in your opinion? Thank you |
Send message Joined: 24 Jan 11 Posts: 712 Credit: 554,626,013 RAC: 46,148 |
Doesn't seem like you can use a Raspberry Pi on MW@Home. There however is a very active user base for the Raspberry Pi over on the Einstein@Home project. |
Send message Joined: 10 Dec 14 Posts: 11 Credit: 3,312,862 RAC: 0 |
Doesn't seem like you can use a Raspberry Pi on MW@Home. There however is a very active user base for the Raspberry Pi over on the Einstein@Home project. Thank you Keith. I thought as much, however I just wanted to be sure. I will check out Einstein@home. |
Send message Joined: 25 Feb 13 Posts: 580 Credit: 94,200,158 RAC: 0 |
Hey, You should definitely be able to crunch MW@home work units on a Raspberry Pi. The trouble is you would have to compile your own version of the client code. We currently don't officially support it, but feel free to download the source from https://github.com/Milkyway-at-home/milkywayathome_client and compile it. You will probably have to do a little work to get all of the dependencies to work, but it should compile and run. Jake W. |
Send message Joined: 10 Dec 14 Posts: 11 Credit: 3,312,862 RAC: 0 |
Hey, Hi Jake, Do you have a guide of how I would set that up? I am only getting into learning on how to use Pi. I am assuming this would not be as easy as getting BOINC from a repository and then attaching the project to it correct? Apologize for my ignorance on the subject. |
Send message Joined: 25 Feb 13 Posts: 580 Credit: 94,200,158 RAC: 0 |
Hey, I just want you to know I see your post and I will try to come up with a few suggestions to help you along. Might take a little while, I am also trying to update the BOINC libraries on the server and do some other behind the scenes maintenance. Jake W. [Edit] Requirements: Basic knowledge of Linux Command Line and Decent Google Foo Skills The first thing you will need to do is ensure you have all of the build essentials you will need to compile MW@home, these include: git, cmake and gcc. Not sure what OS you are running on your PI, but if you are using rasperian or ubuntu you will need to run "sudo apt-get install git", "sudo apt-get install cmake" and "sudo apt-get install build-essential" from terminal to install them. Different OS have different package managers. When you have all of the tools to compile installed, the next step is to actually download the source code. To do this open a terminal and navigate to wherever you want to build the binaries, type "git clone https://github.com/Milkyway-at-home/milkywayathome_client.git" and then hit enter. Once the source code downloads, navigate into the milkywayathome_client directory that was just created and type "git submodule init" and again hit enter. Once that command runs, run the command "git submodule update --recursive". You know have all of the source code downloaded, this is also where all of the easy stuff ends. Now navigate to the directory above the milkywayathome_client directory and run mkdir build to create a new build directory. Navigate into this directory and run "cmake ../milkywayathome_client -DBOINC_RELEASE_NAMES=ON -DSEPARATION=ON -DNBODY_OPENMP=OFF -DSEPARATION_OPENCL=OFF". Hopefully this will complete without errors, if not feel free to post the errors you find here or try to fix them on your own. If you don't get any errors run "make". If this runs completes without errors, you will have successfully build the latest and greatest MilkyWay@home binaries to run. You are likely to run into a few errors along the way, if you need help with any of them, let me know and I will try my best. How you get these binaries to work with the BOINC client, I am not quite sure yet. I know it is possible to give the boinc client home-built binaries though so I will do some googling while you try to build the binaries. Good luck, Jake |
Send message Joined: 10 Dec 14 Posts: 11 Credit: 3,312,862 RAC: 0 |
Hi Jake, Thank you for posting the instructions. Once I get my Raspberry pi 3 I will try to follow them and see what I can make out of it. I will reply to original post with what I did so that others that are interested will have something to follow. |
Send message Joined: 25 Feb 13 Posts: 580 Credit: 94,200,158 RAC: 0 |
Okay, good luck. Jake W. |
Send message Joined: 12 Jun 15 Posts: 9 Credit: 63,631 RAC: 0 |
Hi Mr. Weiss, First, thank you for your help and information!! I have a new Raspberry Pi 3B and have configured it is a LAMP server (www.LampPi.com). All is well... • Broadcom BCM2837 64Bit Quad Core Processor • Processor Speed: QUAD Core running at 1.2 GHz • Core Architecture: ARM • Core Sub-Architecture: ARM8 • Silicon Manufacturer: Broadcom • Silicon Family Name: BCM2xxx • OS: Raspbian (debian flavor) The last part of my configuration is installing "boinc" (milkyway, seti and Einstein). The Boinc install worked fine. And I was happy to learn, you can now attach directly to seti!! I have been processing seti work units with no issue. But my other two favorites will not work (milkyway and Einstein). I followed your instructions from your post. Please find the output at the end of this reply. I have started researching the output as well. Any comments would be great... Thanks Clay ======================================================= $ cmake ../milkywayathome_client -DBOINC_RELEASE_NAMES=ON -DSEPARATION=ON -DNBODY_OPENMP=OFF -DSEPARATION_OPENCL=OFF -- The C compiler identification is GNU 4.9.2 -- The CXX compiler identification is GNU 4.9.2 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Performing Test HAVE_FP_MODEL_FAST -- Performing Test HAVE_FP_MODEL_FAST - Failed -- Performing Test HAVE_F_FAST_MATH -- Performing Test HAVE_F_FAST_MATH - Success -- Performing Test HAVE_FP_MODEL_PRECISE -- Performing Test HAVE_FP_MODEL_PRECISE - Failed -- Performing Test HAVE_F_NO_UNSAFE_MATH_OPTIMIZATIONS -- Performing Test HAVE_F_NO_UNSAFE_MATH_OPTIMIZATIONS - Success -- Performing Test HAVE_FLAG_STATIC_LIBSTDCPP -- Performing Test HAVE_FLAG_STATIC_LIBSTDCPP - Success -- Performing Test HAVE_FLAG_STATIC_LIBGCC -- Performing Test HAVE_FLAG_STATIC_LIBGCC - Success -- Performing Test HAVE_FLAG_PTHREAD -- Performing Test HAVE_FLAG_PTHREAD - Success -- Looking for stpcpy -- Looking for stpcpy - found -- Looking for shm_open in rt -- Looking for shm_open in rt - found -- Looking for dlopen in dl -- Looking for dlopen in dl - found -- Performing Test HAVE_FLAG_-Wno-psabi -- Performing Test HAVE_FLAG_-Wno-psabi - Success -- Performing Test HAVE_FLAG_-std=gnu99 -- Performing Test HAVE_FLAG_-std=gnu99 - Success -- Performing Test HAVE_FLAG_-xc99 -- Performing Test HAVE_FLAG_-xc99 - Failed -- Performing Test HAVE_FLAG_-maccumulate-outgoing-args -- Performing Test HAVE_FLAG_-maccumulate-outgoing-args - Failed -- Could NOT find OpenCL (missing: OPENCL_LIBRARIES OPENCL_INCLUDE_DIRS) -- Try OpenMP C flag = [-fopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Success -- Try OpenMP CXX flag = [-fopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Success -- Found OpenMP: -fopenmp -- Could NOT find OpenGL (missing: OPENGL_gl_LIBRARY OPENGL_INCLUDE_DIR) -- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) -- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR) --------------------------------------------- Building: milkywayathome_client System: Linux-4.4.11-v7+ Build type: Release Arch: armv7l Install path: /usr/local ---- CMAKE version: 3.0.2 CMAKE binary: /usr/bin/cmake CTEST binary: /usr/bin/ctest CMAKE generator: Unix Makefiles ---- Project src dir: /home/pi/projects/milkyway/milkywayathome_client Project bin dir: /home/pi/projects/milkyway/build Build tool: /usr/bin/make C Compiler: /usr/bin/cc ---- Double precision: ON Separation: ON N-Body: ON OpenCL separation: OFF OpenCL nbody: OFF Nbody graphics: OFF Nbody use GL3W: ON BOINC application: ON ---- --------------------------------------------- -- Looking for include file smmintrin.h -- Looking for include file smmintrin.h - not found -- Looking for include file pmmintrin.h -- Looking for include file pmmintrin.h - not found -- Looking for include file emmintrin.h -- Looking for include file emmintrin.h - not found -- Looking for dcgettext -- Looking for dcgettext - found -- Looking for include file dlfcn.h -- Looking for include file dlfcn.h - found -- Looking for include file float.h -- Looking for include file float.h - found -- Looking for include file fnmatch.h -- Looking for include file fnmatch.h - found -- Looking for gettext -- Looking for gettext - found -- Looking for include file glob.h -- Looking for include file glob.h - found -- Looking for include file langinfo.h -- Looking for include file langinfo.h - found -- Looking for include file mcheck.h -- Looking for include file mcheck.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for mtrace -- Looking for mtrace - found -- Looking for srandom -- Looking for srandom - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file stdlib.h -- Looking for include file stdlib.h - found -- Looking for strerror -- Looking for strerror - found -- Looking for include file unistd.h -- Looking for include file unistd.h - found -- Looking for vasprintf -- Looking for vasprintf - found -- Looking for secure_getenv -- Looking for secure_getenv - found -- Looking for __secure_getenv -- Looking for __secure_getenv - not found -- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") -- Could NOT find readline (missing: READLINE_LIBRARY READLINE_INCLUDE_DIR) -- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) -- Looking for include file atomic.h -- Looking for include file atomic.h - not found -- Looking for include file intrin.h -- Looking for include file intrin.h - not found -- Looking for include file pthread.h -- Looking for include file pthread.h - found -- Looking for include file stddef.h -- Looking for include file stddef.h - found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Looking for pthread_yield -- Looking for pthread_yield - found -- Looking for sched_yield -- Looking for sched_yield - found -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of int -- Check size of int - done -- Check size of void* -- Check size of void* - done -- Performing Test OPA_HAVE_ATTRIBUTE_PURE -- Performing Test OPA_HAVE_ATTRIBUTE_PURE - Success -- Performing Test OPA_HAVE_ATTRIBUTE_FORMAT -- Performing Test OPA_HAVE_ATTRIBUTE_FORMAT - Success -- Performing Test ACCEPTS_BOGUS_ASM -- Performing Test ACCEPTS_BOGUS_ASM - Failed -- Performing Test OPA_HAVE_GCC_X86_32_64 -- Performing Test OPA_HAVE_GCC_X86_32_64 - Failed -- Performing Test OPA_HAVE_GCC_X86_32_64_P3 -- Performing Test OPA_HAVE_GCC_X86_32_64_P3 - Failed -- Performing Test OPA_HAVE_GCC_AND_IA64_ASM -- Performing Test OPA_HAVE_GCC_AND_IA64_ASM - Failed -- Performing Test OPA_HAVE_GCC_AND_POWERPC_ASM -- Performing Test OPA_HAVE_GCC_AND_POWERPC_ASM - Failed -- Performing Test OPA_HAVE_GCC_AND_SICORTEX_ASM -- Performing Test OPA_HAVE_GCC_AND_SICORTEX_ASM - Failed -- Performing Test OPA_HAVE_GCC_INTRINSIC_ATOMICS -- Performing Test OPA_HAVE_GCC_INTRINSIC_ATOMICS - Success -- Performing Test OPA_HAVE_NT_INTRINSICS -- Performing Test OPA_HAVE_NT_INTRINSICS - Failed -- Performing Test OPA_HAVE_SUN_ATOMIC_OPS -- Performing Test OPA_HAVE_SUN_ATOMIC_OPS - Failed -- Using BOINC from submodule -- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR) -- Looking for include file alloca.h -- Looking for include file alloca.h - found -- Looking for include file arpa/inet.h -- Looking for include file arpa/inet.h - found -- Looking for include file dirent.h -- Looking for include file dirent.h - found -- Looking for include file errno.h -- Looking for include file errno.h - found -- Looking for include file fcntl.h -- Looking for include file fcntl.h - found -- Looking for include file GLUT/glut.h -- Looking for include file GLUT/glut.h - not found -- Looking for include file glut.h -- Looking for include file glut.h - not found -- Looking for include file glu.h -- Looking for include file glu.h - not found -- Looking for include file GL/glaux.h -- Looking for include file GL/glaux.h - not found -- Looking for include file GL/glut.h -- Looking for include file GL/glut.h - not found -- Looking for include file GL/glu.h -- Looking for include file GL/glu.h - not found -- Looking for include file GL/gl.h -- Looking for include file GL/gl.h - not found -- Looking for include file gl.h -- Looking for include file gl.h - not found -- Looking for include file OpenGL/glaux.h -- Looking for include file OpenGL/glaux.h - not found -- Looking for include file OpenGL/glut.h -- Looking for include file OpenGL/glut.h - not found -- Looking for include file OpenGL/glu.h -- Looking for include file OpenGL/glu.h - not found -- Looking for include file OpenGL/gl.h -- Looking for include file OpenGL/gl.h - not found -- Looking for include file ieeefp.h -- Looking for include file ieeefp.h - not found -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file malloc.h -- Looking for include file malloc.h - found -- Looking for include file netdb.h -- Looking for include file netdb.h - found -- Looking for include file netinet/ether.h -- Looking for include file netinet/ether.h - found -- Looking for include file netinet/if_ether.h -- Looking for include file netinet/if_ether.h - found -- Looking for include file netinet/in.h -- Looking for include file netinet/in.h - found -- Looking for include file netinet/tcp.h -- Looking for include file netinet/tcp.h - found -- Looking for include file net/if.h -- Looking for include file net/if.h - found -- Looking for include file procfs.h -- Looking for include file procfs.h - not found -- Looking for include file signal.h -- Looking for include file signal.h - found -- Looking for include file sys/fcntl.h -- Looking for include file sys/fcntl.h - found -- Looking for include file sys/file.h -- Looking for include file sys/file.h - found -- Looking for include file sys/ioctl.h -- Looking for include file sys/ioctl.h - found -- Looking for include file sys/ipc.h -- Looking for include file sys/ipc.h - found -- Looking for include file sys/mount.h -- Looking for include file sys/mount.h - found -- Looking for include file sys/msg.h -- Looking for include file sys/msg.h - found -- Looking for include file sys/param.h -- Looking for include file sys/param.h - found -- Looking for include file sys/resource.h -- Looking for include file sys/resource.h - found -- Looking for include file sys/shm.h -- Looking for include file sys/shm.h - found -- Looking for include file sys/socket.h -- Looking for include file sys/socket.h - found -- Looking for include file sys/sockio.h -- Looking for include file sys/sockio.h - not found -- Looking for include file sys/statfs.h -- Looking for include file sys/statfs.h - found -- Looking for include file sys/statvfs.h -- Looking for include file sys/statvfs.h - found -- Looking for include file sys/stat.h -- Looking for include file sys/stat.h - found -- Looking for include file sys/swap.h -- Looking for include file sys/swap.h - found -- Looking for include file sys/sysctl.h -- Looking for include file sys/sysctl.h - found -- Looking for include file sys/systeminfo.h -- Looking for include file sys/systeminfo.h - not found -- Looking for include file sys/time.h -- Looking for include file sys/time.h - found -- Looking for include file sys/un.h -- Looking for include file sys/un.h - found -- Looking for include file sys/utsname.h -- Looking for include file sys/utsname.h - found -- Looking for include file sys/vmmeter.h -- Looking for include file sys/vmmeter.h - not found -- Looking for include file sys/wait.h -- Looking for include file sys/wait.h - found -- Looking for include file utmp.h -- Looking for include file utmp.h - found -- Looking for include file windows.h -- Looking for include file windows.h - not found -- Looking for alloca -- Looking for alloca - not found -- Looking for daemon -- Looking for daemon - found -- Looking for ether_ntoa -- Looking for ether_ntoa - found -- Looking for strcasecmp -- Looking for strcasecmp - found -- Looking for strcasestr -- Looking for strcasestr - found -- Looking for strdup -- Looking for strdup - found -- Looking for strdupa -- Looking for strdupa - not found -- Looking for strlcat -- Looking for strlcat - not found -- Looking for strlcpy -- Looking for strlcpy - not found -- Looking for include file strings.h -- Looking for include file strings.h - found -- Looking for include file string.h -- Looking for include file string.h - found -- Looking for res_init -- Looking for res_init - not found -- Looking for sched_setscheduler -- Looking for sched_setscheduler - found -- Looking for setenv -- Looking for setenv - found -- Looking for setpriority -- Looking for setpriority - found -- Looking for setutent -- Looking for setutent - found -- Looking for getutent -- Looking for getutent - found -- Looking for sigaction -- Looking for sigaction - found -- Check size of socklen_t -- Check size of socklen_t - failed -- Check size of struct ether_addr -- Check size of struct ether_addr - failed -- Check size of struct ifconf -- Check size of struct ifconf - failed -- Check size of struct ifreq -- Check size of struct ifreq - failed -- Check size of struct lifconf -- Check size of struct lifconf - failed -- Performing Test HAVE_STRUCT_TM_TM_ZONE -- Performing Test HAVE_STRUCT_TM_TM_ZONE - Success -- Looking for include file pthread.h -- Looking for include file pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - found -- Found Threads: TRUE -- Looking for XScreenSaverRegister in Xss -- Looking for XScreenSaverRegister in Xss - not found CMake Warning at boinc/CMakeLists.txt:294 (message): OpenSSL not found. Not building libboinc_crypt -- Looking for include file direct.h -- Looking for include file direct.h - not found -- Looking for include file process.h -- Looking for include file process.h - not found -- Looking for asprintf -- Looking for asprintf - found -- Looking for include file fpu_control.h -- Looking for include file fpu_control.h - found -- Looking for include file sys/mman.h -- Looking for include file sys/mman.h - found -- Looking for exp10 -- Looking for exp10 - found -- Looking for exp2 -- Looking for exp2 - found -- Looking for sincos -- Looking for sincos - found -- Looking for fmax -- Looking for fmax - found -- Looking for fmin -- Looking for fmin - found -- Looking for posix_memalign -- Looking for posix_memalign - found -- Looking for _aligned_malloc -- Looking for _aligned_malloc - not found -- Looking for __mingw_aligned_malloc -- Looking for __mingw_aligned_malloc - not found -- Looking for clock_gettime -- Looking for clock_gettime - found -- Looking for gettimeofday -- Looking for gettimeofday - found -- Looking for mach_absolute_time -- Looking for mach_absolute_time - not found --------------------------------------------- Separation build: Double precision: ON Separation crlibm: OFF Separation OpenCL: OFF BOINC Libraries boinc_graphics2;boinc_api;boinc Lua Libraries lua51;m OpenCL Libraries OPENCL_LIBRARIES-NOTFOUND OpenGL Libraries OpenSSL Libraries --------------------------------------------- CMake Warning at cmake_modules/BOINCBinNames.cmake:22 (message): Unknown system: Linux-4.4.11-v7+ Call Stack (most recent call first): cmake_modules/BOINCBinNames.cmake:60 (unknown_system) separation/CMakeLists.txt:301 (get_boinc_bin_name) -- Looking for fenv.h -- Looking for fenv.h - found -- Could NOT find LibGMP (missing: LIBGMP_LIB LIBGMP_INCLUDE_DIR) -- Could NOT find LibMPFR (missing: LIBMPFR_LIB LIBMPFR_INCLUDE_DIR) --------------------------------------------- Building: milkyway_nbody BOINC Application: ON Double precision: ON Enable crlibm: ON ---- BOINC Libraries boinc_graphics2;boinc_api;boinc Lua Libraries lua51;m OpenCL Libraries OPENCL_LIBRARIES-NOTFOUND OpenGL Libraries OpenSSL Libraries --------------------------------------------- CMake Warning at cmake_modules/BOINCBinNames.cmake:22 (message): Unknown system: Linux-4.4.11-v7+ Call Stack (most recent call first): cmake_modules/BOINCBinNames.cmake:60 (unknown_system) nbody/CMakeLists.txt:439 (get_boinc_bin_name) CMake Warning (dev) at nbody/CMakeLists.txt:460 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "milkyway_nbody". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning at nbody/CMakeLists.txt:493 (message): OpenSSL not found, not using N-body tests CMake Warning at nbody/doc/CMakeLists.txt:29 (message): Could not find texi2pdf. Documentation cannot be built -- Found Git: /usr/bin/git (found version "2.1.4") CMake Warning (dev) at CMakeLists.txt:487 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "milkyway_separation". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at CMakeLists.txt:488 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "milkyway_nbody". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at CMakeLists.txt:489 (get_target_property): Policy CMP0045 is not set: Error on non-existent target in get_target_property. Run "cmake --help-policy CMP0045" for policy details. Use the cmake_policy command to set the policy and suppress this warning. get_target_property() called with non-existent target "milkyway_nbody_graphics". This warning is for project developers. Use -Wno-dev to suppress it. -- Configuring done -- Generating done -- Build files have been written to: /home/pi/projects/milkyway/build $ |
Send message Joined: 25 Feb 13 Posts: 580 Credit: 94,200,158 RAC: 0 |
Your output looks fine. It says it built the configuration files so the next step is to run "make" in the directory you ran "cmake". This will actually compile the program. The warnings you see are only in the newest version of cmake. They changed the way some of the LOCATION behavior works, but it is supposed to detect old code like outs, output warnings and default to the old behavior our code expects. This means you should be able to ignore the warnings. If you have any more questions let me know. Jake |
Send message Joined: 12 Jun 15 Posts: 9 Credit: 63,631 RAC: 0 |
Hi Mr. Weiss, Thank you!! I executed the "make" to compile the project and received quite a few warning messages. But it appears the project did compile. I see the following output files in ../build/bin: lua milkyway_nbody_1.62_unknown-system milkyway_separation_1.36_unknown-system xxd What is the difference between "nbody" and "separation"? For fun, I installed the "separation" executable in boinc to see what would happen. It appears to be running... There were no issues in the "stdoutdae.txt" file. It requested a work unit and is working on it now. I will let you know if the work unit completes successfully (or not). If it does work, I will post step-by-step instructions so that other people can install Milkyway on their Raspberry Pi 3B (giving you credit). Thanks Clay |
Send message Joined: 25 Feb 13 Posts: 580 Credit: 94,200,158 RAC: 0 |
Hello Clay, The milkyway_nbody application runs the nbody work units and milkyway_separation runs the separation work units. Our project runs two different sub projects focused on mapping substructure in the Milky Way differently. The nbody application (still in the beta stage) is attempting to map the dark matter content of the Milky Way, and dwarf galaxies colliding with the Milky Way. Separation looks at the actual stars in the Milky Way in an attempt to determine which are likely to be from the Milky Way and which are likely to have been brought into the Milky Way through mergers. I am glad everything seems to be working and was easy enough to get running. If it really was so easy maybe we will look into making the Raspberry Pi an officially supported platform (not yet though). Happy Crunching, Jake [edit] Hey, I just remembered, every time a new version of MilkyWay@home is released you will need to run a "git pull" from the milkywayathome_client directory with your code and then recompile. If you do not, you will get validation errors because you are no longer running the same version as everyone else. Keep an eye out for whenever Sidd or I post on the forums that a new version was released and then rebuild and install the binaries again. Jake [/edit] |
Send message Joined: 12 Jun 15 Posts: 9 Credit: 63,631 RAC: 0 |
Hi Mr. Weiss, Good news... I completed the first work unit and it is listed as "Completed and validated"! I will write up some instructions, using your information, and post here so other Raspberry Pi people will see it. It would be great if you made it an officially supported platform!!! They are real servers... When you purchase your first one, you will go through 3 emotional stages: 1. Extreme buyer’s remorse 2. Uncontrollable laughter 3. True amazement how great they are once you get past the first two stages My Raspberry Pi servers run 24x7x365. I use them as LAMP stack servers for software development (and fun). I run them headless and just ssh into them. Those kids at the University of Cambridge wanted young people to be hands-on with technology and this was their solution. Very nice... If you buy one, you will see what I am talking about. And about 1 week later, you will make the Raspberry Pi server an officially supported platform. :) Again, thank you for help!! Thanks Clay |
Send message Joined: 25 Feb 13 Posts: 580 Credit: 94,200,158 RAC: 0 |
I actually do own one. I recently fried an old Raspberry Pi B I bought a few years ago and then I got a Pi 2. I personally am using mine for an embedded hardware project. (I want to turn it into a telescope controller.) They're pretty awesome, but I've noticed they have their limitations. Jake W. |
Send message Joined: 12 Jun 15 Posts: 9 Credit: 63,631 RAC: 0 |
Hi Mr. Weiss, I should have known you have a Raspberry Pi... They are great little servers! Sorry for the delay. I have finished the instructions and want to give them a try before posting. I am going to test on the server where I did the compile (3B, jessie). Thanks Clay |
Send message Joined: 12 Jun 15 Posts: 9 Credit: 63,631 RAC: 0 |
Hi Mr. Weiss, Here are the instructions. I uninstalled Milkyway on my server and used the instructions below to reinstall. They worked for me. Thank you for all of your help!! Thanks Clay ====================== Source: http://www.lamppi.com/index.php?menuID=note¬eRowID=11 ====================== Title: Compile and Install Milkyway@Home 1. Join Milkyway@Home if you do not have an account. Site: https://milkyway.cs.rpi.edu/ Note: Record your email address, password and weak account key. Note: If you do not have a team, join "Raspberry Pi". 2. Make a backup of your current microSD chip 3. Update system and install Boinc (in a terminal shell) $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get dist-upgrade $ sudo apt-get install dnsutils whois unzip lsb-release $ sudo apt-get install chkconfig dos2unix $ sudo apt-get install git $ sudo apt-get install cmake $ sudo apt-get install build-essential $ sudo apt-get install boinc $ sudo apt-get clean $ sudo reboot $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get dist-upgrade $ sudo reboot 4. Get and compile the Milkyway project $ cd /home/pi $ mkdir /home/pi/projects $ cd /home/pi/projects $ mkdir /home/pi/projects/milkyway $ cd /home/pi/projects/milkyway $ git clone https://github.com/Milkyway-at-home/milkywayathome_client.git $ cd milkywayathome_client $ git submodule init $ git submodule update --recursive $ cd /home/pi/projects/milkyway $ mkdir /home/pi/projects/milkyway/build $ cd /home/pi/projects/milkyway/build $ cmake ../milkywayathome_client -DBOINC_RELEASE_NAMES=ON -DSEPARATION=ON -DNBODY_OPENMP=OFF -DSEPARATION_OPENCL=OFF $ make 5. Create our boinc files $ cd /home/pi/projects/milkyway/build/bin $ ls -l [You will see the output from the compiler. [In this example we will use the following file name:] ["milkyway_separation_1.36_unknown-system"] $ cp milkyway_separation_1.36_unknown-system milkyway [Create and add the following text to the new file] [note the version number matches our executable] [remove the space between tags < >] $ nano app_info.xml < app_info > < app > < name >milkyway< /name > < /app > < file_info > < name >milkyway< /name > < executable/ > < /file_info > < app_version > < app_name >milkyway< /app_name > < version_num >136< /version_num > < file_ref > < file_name >milkyway< /file_name > < main_program/ > < /file_ref > < /app_version > < /app_info > 6. Install the executable in boinc $ cd /var/lib/boinc-client/ $ ls -l [You should see a "projects" folder. If not, create it.] [$ sudo mkdir projects] [$ sudo chown boinc:boinc -R projects] $ cd projects $ sudo mkdir milkyway.cs.rpi.edu_milkyway $ sudo chown boinc:boinc -R milkyway.cs.rpi.edu_milkyway $ cd milkyway.cs.rpi.edu_milkyway $ sudo cp /home/pi/projects/milkyway/build/bin/milkyway . $ sudo cp /home/pi/projects/milkyway/build/bin/app_info.xml . $ cd /var/lib/boinc-client/ $ sudo chown boinc:boinc -R projects $ cd /home/pi 7. Attach to the Milkyway project $ boinccmd --project_attach http://milkyway.cs.rpi.edu/milkyway/ < your_weak_key > 8. Status and Help $ boinccmd --help $ boinccmd --get_state $ more /var/lib/boinc-client/stdoutdae.txt $ top [press "q" to quite] 9. Results should start showing up in your Milkyway account Site: https://milkyway.cs.rpi.edu/milkyway/login_form.php?next_url=home.php =================== 1. Uninstall instructions [The Milkyway@Home group will update the software from time] [to time. This may cause validation errors in your account.] [The following will remove the software and you can repeat] [the steps above to re-install.] $ boinccmd --project http://milkyway.cs.rpi.edu/milkyway/ detach $ rm -Rf /home/pi/projects/milkyway $ sudo rm -Rf /var/lib/boinc-client/projects/milkyway.cs.rpi.edu_milkyway =================== Credit: The above information would not have been possible without the help of Jake Weiss. Mr. Weiss is a project scientist with the Milkyway@Home group. |
Send message Joined: 25 Feb 13 Posts: 580 Credit: 94,200,158 RAC: 0 |
Hey, Thank you for all the help and for writing everything up. I will talk to the other scientists here about getting you a fancy new badge for your contributions to the project. Jake [edit] And now you have your badge! Thank you for all of the help. Happy Crunching. [/edit] |
Send message Joined: 10 Dec 14 Posts: 11 Credit: 3,312,862 RAC: 0 |
Hi Mr. Weiss, Hello cbeckham, I am trying to follow your guide however for some reason I am hitting a snag. The portion of code where I am facing issues is step 6. Up to line "ls -l" I seem to be doing file. I have created the folder Projects ----------------------CMD Print out----------------------------------- boinc boinc 60646 Jun 17 17:40 all_projects_list.xml lrwxrwxrwx 1 root root 34 Jun 17 17:40 ca-bundle.crt -> /etc/ssl/certs/ca-certificates.crt lrwxrwxrwx 1 root root 31 Jun 17 17:40 cc_config.xml -> /etc/boinc-client/cc_config.xml -rw-r--r-- 1 boinc boinc 2466 Jun 17 17:43 client_state_prev.xml -rw-r--r-- 1 boinc boinc 2466 Jun 17 17:43 client_state.xml -rw-r--r-- 1 boinc boinc 155 Jun 17 17:43 coproc_info.xml -rw-r--r-- 1 boinc boinc 112 Jun 17 17:43 daily_xfer_history.xml lrwxrwxrwx 1 root root 43 Jun 17 17:40 global_prefs_override.xml -> /etc/boinc-client/global_prefs_override.xml lrwxrwxrwx 1 root root 34 Jun 17 17:40 gui_rpc_auth.cfg -> /etc/boinc-client/gui_rpc_auth.cfg -rw-r--r-- 1 boinc boinc 0 Jun 17 17:43 lockfile drwxrwx--x 2 boinc boinc 4096 Jun 17 17:40 notices drwxr-xr-x 4 boinc boinc 4096 Jun 17 18:13 projects lrwxrwxrwx 1 root root 34 Jun 17 17:40 remote_hosts.cfg -> /etc/boinc-client/remote_hosts.cfg -rw-r--r-- 1 boinc boinc 302 Jun 17 17:52 stderrdae.txt -rw-r--r-- 1 boinc boinc 0 Jun 17 17:40 stderrgpudetect.txt -rw-r--r-- 1 boinc boinc 6015 Jun 17 18:25 stdoutdae.txt -rw-r--r-- 1 boinc boinc 0 Jun 17 17:40 stdoutgpudetect.txt -rw-r--r-- 1 boinc boinc 573 Jun 17 18:25 time_stats_log ------------------------------------------------------------------------------------------------------ However when I try to execute the line "$ sudo cp /home/pi/projects/milkyway/build/bin/milkyway ." I get the following error: /var/lib/boinc-client/projects/milkyway.cs.rpi.edu_milkyway $ sudo cp /home/pi/projects/milkyway/build/bin/milkyway . cp: cannot stat ‘/home/pi/projects/milkyway/build/bin/milkyway’: No such file or directory I have made sure to follow your guide to the letters. Do you know where I might have gone wrong? I am new to using command console and linux in general so any help you can give would be appreciated. |
Send message Joined: 12 Jun 15 Posts: 9 Credit: 63,631 RAC: 0 |
Hi vlado101, Good job!! You are learning... Lets verify that we have the copied the executable file and have created "app_info.xml". $ cd /home/pi/projects/milkyway/build/bin $ ls -l You should see the "milkyway" and "app_info.xml" files here. If not, post the output here. 2. If the files are there, then do the following $ cd /var/lib/boinc-client/projects $ ls -l You should see the "milkyway.cs.rpi.edu_milkyway" directory. If not, start here in the instructions: $ sudo mkdir milkyway.cs.rpi.edu_milkyway Do these two steps and give me an update. Here is what the paths should look like: /var/lib/boinc-client/projects /var/lib/boinc-client/projects/milkyway.cs.rpi.edu_milkyway /var/lib/boinc-client/projects/milkyway.cs.rpi.edu_milkyway/app_info.xml /var/lib/boinc-client/projects/milkyway.cs.rpi.edu_milkyway/milkyway Go here to see common Unix/Linux commands for students: http://www.lamppi.com/index.php?menuID=home&homeRowID=4 Thanks Clay |
Send message Joined: 25 Feb 13 Posts: 580 Credit: 94,200,158 RAC: 0 |
Also remember /home/pi/projects/milkyway/build/bin may not be the path to the file you are trying to copy. You may need to replace "pi" with your username on your RaspberryPi if it is different than the default. Jake |
©2024 Astroinformatics Group