Message boards :
Application Code Discussion :
source v11 released
Message board moderation
Author | Message |
---|---|
Send message Joined: 30 Aug 07 Posts: 2046 Credit: 26,480 RAC: 0 |
I've updated the code releases directory with the v11 source code. If you look in the makefiles, there's two new flags that need to be set when compiling the application: APP_VERSION = 0.11 APP_NAME = your_app_name -DBOINC_APP_VERSION=$(APP_VERSION) and -DBOINC_APP_NAME='"$(APP_NAME)"' This will let us know that the application was compiled as version 0.11 by "your_app_name". The stock app is using: APP_NAME=stock so please don't use it for your own compiled applications. We're doing this because of the problems we're having with some of the current optimized windows applications, which are returning incorrect results. So as of tuesday/wednesday, we'll not be awarding credit to applications compiled without these flags (ie, those that don't write the app_name and app_version to the WU's result). This will let us know where our results are coming from, to help us debug our searches, and help you debug your optimized applications. Also, unfortunately, I think this is the only sure-fire way to get people to upgrade from these incorrect applications. Our dynamic error checking isn't working yet, mainly because too many bogus results are being returned by these incorrect applications; which throws off those calculations. The source also has three new test parameters (for stripes 79, 82 and 86, respectively): astronomy_parameters-79.txt stars-79.txt search_parameters-79.txt astronomy_parameters-82.txt stars-82.txt search_parameters-82.txt astronomy_parameters-86.txt stars-86.txt search_parameters-86.txt To test these, simply rename these files, ex: cp stars-79.txt stars.txt cp astronomy_parameters-79.txt astronomy_parameters.txt cp search_parameters-79.txt search_parameters.txt I've added the set_parameters.sh to automate this, just run ./set_parameters.sh 79 for example. Then run your binary in the same directory. On some systems you might have to have a blank "out" file or BOINC will error out. These should give the following results in the "out" file: 79: searchname parameters [8]: 0.342173733203920 25.951791084662300 -2.170941473882660 38.272511356953906 30.225190442596112 2.214906001337289 0.323161690642917 2.774024471628528 metadata: this is the metadata fitness: -2.946683357256020 your_app_name: 0.11 82: searchname parameters [8]: 0.405879611547422 17.529961843393409 -1.857514527214484 29.360893891378243 31.228263575178566 -1.551741065334000 0.064096152599308 2.554282099127810 metadata: this is the metadata fitness: -2.985569777902147 your_app_name: 0.11 86: searchname parameters [8]: 0.733171635575244 14.657212876628332 -1.705465347395041 16.911711745343634 28.077212666463502 -1.203290851581461 3.527360643924728 2.224821450587501 metadata: this is the metadata fitness: -3.027909854710189 your_app_name: 0.11 |
Send message Joined: 6 Sep 07 Posts: 66 Credit: 636,861 RAC: 0 |
I see a problem at line 16: -O here will undo -O2 later on. It's not necessary to specify SSE2 for x86-64 because it's the default and since x87 doesn't support vectors, it's useless to specify -ftree-vectorize for x86. May I propose this patch against make.linux? --- makefile 2009-01-19 14:40:07.085583200 -0600 +++ make.linux 2009-01-19 14:54:06.593926700 -0600 @@ -13,17 +13,17 @@ VARIANTFLAGS = -DGMLE_BOINC -DBOINC_APP_ CXXFLAGS_ALL = $(VARIANTFLAGS) \ -funroll-loops \ -g \ - -O \ -I$(BOINC_DIR) +LDFLAGS_ALL = -static-libgcc CXX_i686 = g++ -CXXFLAGS_i686 = -m32 -O2 -ftree-vectorize $(CXXFLAGS_ALL) -LDFLAGS_i686 = -L/usr/X11R6/lib -L../../linux32_libboinc +CXXFLAGS_i686 = -m32 -O2 $(CXXFLAGS_ALL) +LDFLAGS_i686 = -L/usr/X11R6/lib -L../../linux32_libboinc $(LDFLAGS_ALL) #LDFLAGS_i686 = -L$(BOINC_LIB_LINK_DIR) -L$(BOINC_API_LINK_DIR) CXX_x86_64 = g++ -CXXFLAGS_x86_64 = -O2 -msse2 -ftree-vectorize $(CXXFLAGS_ALL) -LDFLAGS_x86_64 = -L/usr/local/lib +CXXFLAGS_x86_64 = -O2 -ftree-vectorize $(CXXFLAGS_ALL) +LDFLAGS_x86_64 = -L/usr/local/lib -static $(LDFLAGS_ALL) #LDFLAGS_x86_64 = -L/usr/local/lib -L/usr/X11R6/lib #LDFLAGS_x86_64 = -L$(BOINC_LIB_LINK_DIR) -L$(BOINC_API_LINK_DIR) @@ -59,12 +59,12 @@ all: $(PROGS) app_i686: OBJ_CXX = $(CXX_i686) app_i686: OBJ_CXXFLAGS = $(CXXFLAGS_i686) app_i686: $(APP_OBJS) $(SEARCH_OBJS) $(UTIL_OBJS) $(BOINC_API_LINK_DIR)/libboinc_api.a $(BOINC_LIB_LINK_DIR)/libboinc.a - $(CXX_i686) $(LDFLAGS_i686) $(CXXFLAGS_i686) -Wl --export_dynamic -o milkyway_$(APP_VERSION)_i686-pc-linux-gnu $(APP_OBJS) $(SEARCH_OBJS) $(UTIL_OBJS) -lm -lboinc_api -lboinc -pthread + $(CXX_i686) $(LDFLAGS_i686) $(CXXFLAGS_i686) -o milkyway_$(APP_VERSION)_i686-pc-linux-gnu $(APP_OBJS) $(SEARCH_OBJS) $(UTIL_OBJS) -lm -lboinc_api -lboinc -pthread app_x86_64: OBJ_CXX = $(CXX_x86_64) app_x86_64: OBJ_CXXFLAGS = $(CXXFLAGS_x86_64) app_x86_64: $(APP_OBJS) $(SEARCH_OBJS) $(UTIL_OBJS) $(BOINC_API_LINK_DIR)/libboinc_api.a $(BOINC_LIB_LINK_DIR)/libboinc.a - $(CXX_x86_64) $(LDFLAGS_x86_64) $(CXXFLAGS_x86_64) -Wl -static -static-libgcc -o milkyway_$(APP_VERSION)_x86_64-pc-linux-gnu $(APP_OBJS) $(SEARCH_OBJS) $(UTIL_OBJS) -lm -lboinc_api -lboinc -pthread + $(CXX_x86_64) $(LDFLAGS_x86_64) $(CXXFLAGS_x86_64) -o milkyway_$(APP_VERSION)_x86_64-pc-linux-gnu $(APP_OBJS) $(SEARCH_OBJS) $(UTIL_OBJS) -lm -lboinc_api -lboinc -pthread .C.o: $(OBJ_CXX) $(OBJ_CXXFLAGS) $(INC) -Wall -x c++ -c $< -o $@ HTH |
Send message Joined: 30 Aug 07 Posts: 2046 Credit: 26,480 RAC: 0 |
I see a problem at line 16: -O here will undo -O2 later on. May I propose this patch against make.linux? Thanks, i'll update the release. *edit* The new make.linux should have this fix. |
Send message Joined: 22 Feb 08 Posts: 260 Credit: 57,387,048 RAC: 0 |
Is there any deviation allowed in point of fitness? The last two digits seem to drift away from me... mic. |
Send message Joined: 3 Aug 08 Posts: 89 Credit: 255,801 RAC: 0 |
|
Send message Joined: 30 Aug 07 Posts: 2046 Credit: 26,480 RAC: 0 |
Is there any deviation allowed in point of fitness? If the last digit or two is off this is probably just due to the architecture and not a problem. |
Send message Joined: 4 Oct 08 Posts: 1734 Credit: 64,228,409 RAC: 0 |
Travis I currently use, what I believe, are the OKed optimised MW clients across my various rigs (in the flavours to suit the different CPUs). I also have a deactivated version of the stock MW client (milkyway_0.7_windows_intelx86), which I can easily return to in the event the assimlator/validator code dumping my optimised client results. This may be for the reasons you give below. If I return to the stock client, will I need to download a new windows stock client (in the light of your comments on header identification and source code? If I do, where can I get it? |
Send message Joined: 30 Aug 07 Posts: 2046 Credit: 26,480 RAC: 0 |
Is there any deviation allowed in point of fitness? Changes in the last two digits should be fine, that's just an architecture issue. Any more than that i'd start to get worried. |
Send message Joined: 30 Aug 07 Posts: 2046 Credit: 26,480 RAC: 0 |
Travis Dave should be updating the windows app today to v12. There should be a v10 available on the server. |
Send message Joined: 4 Oct 08 Posts: 1734 Credit: 64,228,409 RAC: 0 |
Thanks, Travis. I will download V12 as soon as it is referred to, but will back it up with V10. I think we will be reverting to the stock client until new optimised clients conforming to your requirements are released. Your assimlator/validator script is likely to make all the current opti-client stock obsolete. |
Send message Joined: 12 Oct 07 Posts: 77 Credit: 404,471,187 RAC: 0 |
The source also has three new test parameters (for stripes 79, 82 and 86, respectively): I've been having terrible trouble with fitness results from my app. Speedimic suggested deleting all files produced by running the app against the test WUs and that has corrected my fitness. So, i've amended set_parameters.sh to be rm -f boinc_finish_called rm -f init_data.xml rm -f astronomy_checkpoint rm -f out rm -f stderr.txt cp stars-$1.txt stars.txt cp astronomy_parameters-$1.txt astronomy_parameters.txt cp search_parameters-$1.txt search_parameters.txt that takes care of things automatically |
Send message Joined: 30 Aug 07 Posts: 2046 Credit: 26,480 RAC: 0 |
The source also has three new test parameters (for stripes 79, 82 and 86, respectively): Good idea, I've updated the set_parameters.sh for the next release. One thing to watch out for is that some clients (for whatever reason) require a blank out.sh file, so I've made it: rm -f boinc_finish_called rm -f init_data.xml rm -f astronomy_checkpoint rm -f out rm -f stderr.txt touch out cp stars-$1.txt stars.txt cp astronomy_parameters-$1.txt astronomy_parameters.txt cp search_parameters-$1.txt search_parameters.txt |
Send message Joined: 22 Feb 08 Posts: 260 Credit: 57,387,048 RAC: 0 |
The source also has three new test parameters (for stripes 79, 82 and 86, respectively): Damn, sounds like good teamwork... ;) mic. |
©2024 Astroinformatics Group