JPScore issueshttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues2018-06-13T16:41:46+02:00https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/75Performance improvements2018-06-13T16:41:46+02:00Mohcine Chraibim.chraibi@fz-juelich.dePerformance improvementsI figured out how to use Apples Instruments for performance analysis in JPScore. It seems we have one major issue while our simulation runs.
About 97% of the whole runtime is spend computing our next time step in our force model which is...I figured out how to use Apples Instruments for performance analysis in JPScore. It seems we have one major issue while our simulation runs.
About 97% of the whole runtime is spend computing our next time step in our force model which is not unexpected.
However one thing is really interesting.
The method call
bool isVisible = building->ped_is_visible(p1, p2, false);
consumes about 73%. Looking into this method shows that the huge runtime comes from one line of code
if(sub->IsVisible(p1,p2,considerHlines)==false) return false; which still consumes about 67%.
what can we do to optimize this? @kemloh @chraibi
edit: i did some improvements in our code, here is the runtime result:
before:
Testing started on 2015-01-23 19:00:05
Site Name: Workspace
Build Name: linux-gcc-zam
Total time: 1h 57m 25s 500ms
after:
Testing started on 2015-01-24 19:00:17
Site Name: Workspace
Build Name: linux-gcc-zam
Total time: 1h 23m 49s 820ms
maybe we can add some further improvements with omp or something to get closer to our real time evacuation ;)https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/111Change router_id to id2018-06-13T16:41:46+02:00Mohcine Chraibim.chraibi@fz-juelich.deChange router_id to idChange
```
<router router_id="1" description="global_shortest">
```
to
```
<router id="1" description="global_shortest">
```
Helps parsing in the make-ini script.Change
```
<router router_id="1" description="global_shortest">
```
to
```
<router id="1" description="global_shortest">
```
Helps parsing in the make-ini script.https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/67agents are pushed into obstacles and get trapped2018-06-13T16:41:46+02:00Mohcine Chraibim.chraibi@fz-juelich.deagents are pushed into obstacles and get trappedduring a jamming situation, agents get pushed into a wall modeled by an obstacle and stay trappedduring a jamming situation, agents get pushed into a wall modeled by an obstacle and stay trappedMohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.dehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/74Different stairs types (stairs, escalators)2018-06-13T16:41:46+02:00Mohcine Chraibim.chraibi@fz-juelich.deDifferent stairs types (stairs, escalators)Differentiate between
stair and escalator. For the second maybe also a state moving and idle.Differentiate between
stair and escalator. For the second maybe also a state moving and idle.https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/82Featuring video for JuPedsim2018-06-13T16:41:45+02:00Mohcine Chraibim.chraibi@fz-juelich.deFeaturing video for JuPedsimSmall presenation as Video/PPT showing features, demos,..Small presenation as Video/PPT showing features, demos,..https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/108add color attribute to groups2018-06-13T16:41:45+02:00Mohcine Chraibim.chraibi@fz-juelich.deadd color attribute to groupsFor instance
``` xml
<group group_id="3" agent_parameter_id="1" room_id="0" subroom_id="0" number="10" color="154"/>
```
This will give more flexibility to the end user
See #105For instance
``` xml
<group group_id="3" agent_parameter_id="1" room_id="0" subroom_id="0" number="10" color="154"/>
```
This will give more flexibility to the end user
See #105https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/3Closed boundary conditions2018-06-13T16:41:45+02:00Mohcine Chraibim.chraibi@fz-juelich.deClosed boundary conditionsClosed boundary conditions should be implemented. Important for FD in 1dim (e.g. Rotunde) and 2dim (UG Hermes)Closed boundary conditions should be implemented. Important for FD in 1dim (e.g. Rotunde) and 2dim (UG Hermes)https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/153Rimea 7 failes2018-06-13T16:41:45+02:00Mohcine Chraibim.chraibi@fz-juelich.deRimea 7 failesMohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.dehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/83implementation of the Google protocol buffer2018-06-13T16:41:45+02:00Mohcine Chraibim.chraibi@fz-juelich.deimplementation of the Google protocol bufferfirst step in the coupling between Matsim and Jupedsimfirst step in the coupling between Matsim and Jupedsimhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/136Export Wiki pages to GitHub2018-06-13T16:41:45+02:00Mohcine Chraibim.chraibi@fz-juelich.deExport Wiki pages to GitHubMohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.dehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/151Rimea 9 failes2018-06-13T16:41:45+02:00Mohcine Chraibim.chraibi@fz-juelich.deRimea 9 failesMohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.dehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/139loading all quickest path parameters from the ini file2018-06-13T16:41:45+02:00Mohcine Chraibim.chraibi@fz-juelich.deloading all quickest path parameters from the ini filehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/266Floorfield in large geometries2018-06-13T16:41:33+02:00benjamin moehringFloorfield in large geometries## Description
I created a first geometry version of Berlin Alexandeprlatz, which obviously became quite large.
I got a basic example of agent pairs between each platform running when simulating only the inside rooms. The DirectionLoca...## Description
I created a first geometry version of Berlin Alexandeprlatz, which obviously became quite large.
I got a basic example of agent pairs between each platform running when simulating only the inside rooms. The DirectionLocalFloorfield already takes quite some time though. (Please neglect the other simulation problems you can see in the log-file for the moment)
However when using the whole geometry, jpscore is being killed on my machine and debugging is aborted.
## Question
* Is there a solution to make the process less vulnerable? Smaller and more subrooms, convex subrooms, rectangular shapes, more rooms with less subrooms...
* Do you think using the current ff makes sense for such large geometries at all? Is it worth it to change to a conventional router and provide a routing.xml-file?
## Files
[alexanderplatz_all.7z](/uploads/659e88ab7227bce97b1ecbfc75a6ff81/alexanderplatz_all.7z)
[alexanderplatz_inside.7z](/uploads/3bd89564f684f181833238576a603971/alexanderplatz_inside.7z)
Best, BenniArne GrafArne Grafhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/230Update links to documentation2018-06-13T16:41:33+02:00Mohcine Chraibim.chraibi@fz-juelich.deUpdate links to documentationPlease check all [documentation](http://www.jupedsim.org) pages and check if there still exist a link to the old `cst`-repository.
- Check the wiki pages. Images that have been uploaded are missing.
- Write a note here. What is mis...Please check all [documentation](http://www.jupedsim.org) pages and check if there still exist a link to the old `cst`-repository.
- Check the wiki pages. Images that have been uploaded are missing.
- Write a note here. What is missing. Aaron SchumacherAaron Schumacher2017-01-14https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/240Wrong z-component in trajectories2018-06-13T16:41:33+02:00Mohcine Chraibim.chraibi@fz-juelich.deWrong z-component in trajectories## Summary
Pedestrian in 3D geometries have the wrong `z` component.
For example
a subroom defined by
```
A_x="0" B_y="0" C="20.694"
```
The trajectories will be something like
## Expected behavior
```
<agent ID="1" x="21.363...## Summary
Pedestrian in 3D geometries have the wrong `z` component.
For example
a subroom defined by
```
A_x="0" B_y="0" C="20.694"
```
The trajectories will be something like
## Expected behavior
```
<agent ID="1" x="21.363600" y="17.103700" z="26.994000" />
```
## Actual behavior
```
<agent ID="1" x="21.363600" y="17.103700" z="27.294000" />
```
## Inifile + Geometry file to reproduce bug
[HH_ini.xml](/uploads/3adda7028a1af441b34b49ea86c6907c/HH_ini.xml)[HH_geo.xml](/uploads/44d2b6ef426a6b211f19646725d8d291/HH_geo.xml)[HH_routing.xml](/uploads/cfe80bd21684d6987fd9f437425ea9cb/HH_routing.xml)
## Relevant logs, files (inifile and geometry) and/or screenshots
In screenshot peds 1, 2 and 3 are manually modified just to show the problem.
![Screen_Shot_2017-02-23_at_15.39.17](/uploads/040e8b95e951ed846c5fb4b694a1bc45/Screen_Shot_2017-02-23_at_15.39.17.png)https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/177Unexpected beahavior with different OS's2018-06-13T16:41:33+02:00Mohcine Chraibim.chraibi@fz-juelich.deUnexpected beahavior with different OS'sLets start with were i found it: In issue jupedsim/jpscore#174 @chraibi found a segfault occurring on OS X. The reason here was that a ped could not find a route in the velocity model. So
~~~.cpp
if (ped->FindRoute() == -1)
~~~
was true...Lets start with were i found it: In issue jupedsim/jpscore#174 @chraibi found a segfault occurring on OS X. The reason here was that a ped could not find a route in the velocity model. So
~~~.cpp
if (ped->FindRoute() == -1)
~~~
was true and the ped was removed of the simulation but indexes where not handled correctly. However this segfault did not occur on Linux. The question here is why? The answer quite simple:
On Linux all peds could find a route while on OSX one Ped (`id=16`) could not.
Reproduction Steps
===
1. Load input files from jupedsim/jpscore#174
2. Take Linux and run them
3. Take OS X and run them
Expected behavior
===
The same number of peds should be tried to evacuate on every OS
Observed behavior
===
You will see in the output that on OS X 174 peds were evacuated, while on Linux 175.
- **JuPedSim version:** 0.8
- **OS and version:** Linux and OSX
- **Compiler and version:** gcc 4.8 and apple-clang 7.0
Additional information:
====
Supposed search start: See what happens in `ped->FindRoute()` and why the result may differ for different OS's
* Problem can be reliably reproduced, doesn't happen randomly: [Yes]
* Problem happens with the attached ini and geometry files: see jupedsim/jpscore#174https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/233Door Statstics2018-06-13T16:41:33+02:00Mohcine Chraibim.chraibi@fz-juelich.deDoor Statstics## Summary
Some pedestrians may have no `navLine` (How come?)
Therefore, when calling `UpdateFlowAtDoors()` the simulation will break at this [LINE](https://gitlab.version.fz-juelich.de/jupedsim/jpscore/blob/develop/Simulation.cpp#...## Summary
Some pedestrians may have no `navLine` (How come?)
Therefore, when calling `UpdateFlowAtDoors()` the simulation will break at this [LINE](https://gitlab.version.fz-juelich.de/jupedsim/jpscore/blob/develop/Simulation.cpp#L574) with a SegFault.
## Steps to reproduce
- add the following `<show_statistics>true</Show_statistics>` the inifile of [demo 7](https://gitlab.version.fz-juelich.de/jupedsim/jpscore/tree/develop/demos/scenario_7_floorfield)
- Run demo 7.
## Actual behavior
Segmentation Fault.
## Inifile + Geometry file to reproduce bug
[demo 7](https://gitlab.version.fz-juelich.de/jupedsim/jpscore/tree/develop/demos/scenario_7_floorfield)
## Relevant logs, files (inifile and geometry) and/or screenshots
![Screen_Shot_2017-01-25_at_12.51.17](/uploads/76ad92c724ccdd74b7047114044c4c2f/Screen_Shot_2017-01-25_at_12.51.17.png)Arne GrafArne Grafhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/234Routing in Demo 42018-06-13T16:41:33+02:00Mohcine Chraibim.chraibi@fz-juelich.deRouting in Demo 4## Summary
Demo 4 does not work.
## Steps to reproduce
- Run
```
./bin/jpscore demos/scenario_4_stairs/stairs_ini.xml
```
Two runs are necessary:
- one run with `router_id="1"`
- and another with `router_id="2"`
- For the sake o...## Summary
Demo 4 does not work.
## Steps to reproduce
- Run
```
./bin/jpscore demos/scenario_4_stairs/stairs_ini.xml
```
Two runs are necessary:
- one run with `router_id="1"`
- and another with `router_id="2"`
- For the sake of testing change `number = "10"`
## Expected behavior
Pedestrians should evacuate
## Actual behavior
- With `router=2` they do not evacuate
- With `router=1` simulation breaks with error
## Inifile + Geometry file to reproduce bug
See `demos/scenario_4_stairs`
## Relevant logs, files (inifile and geometry) and/or screenshots
![router](/uploads/15d9c9789bb075adb17ec5254f2e3e1c/router.gif)
![Screen_Shot_2017-02-01_at_12.45.17](/uploads/02c703d2efd1ff93c7e278e16339cd3a/Screen_Shot_2017-02-01_at_12.45.17.png)arneArne GrafArne Grafhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/229merge toxicity_branch in develop2018-06-13T16:41:32+02:00Mohcine Chraibim.chraibi@fz-juelich.demerge toxicity_branch in developMohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.de2016-12-31https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/221Router Strategy combination2018-06-13T16:41:32+02:00Mohcine Chraibim.chraibi@fz-juelich.deRouter Strategy combinationGive a warning if case
- Router is "ff_global_shortest"
- and Strategy is NOT 8Give a warning if case
- Router is "ff_global_shortest"
- and Strategy is NOT 8