-
Notifications
You must be signed in to change notification settings - Fork 110
Open
Labels
area: community_codeIssue concerns a community code and/or its AMUSE bindingsIssue concerns a community code and/or its AMUSE bindingskind: bug
Description
Describe the bug
When trying to simulate more than 2^17 particles, Ph4 crashes in mode GPU.
To Reproduce
from amuse.lab import nbody_system, new_plummer_model, units
import natsort
import glob
from amuse.community.ph4.interface import Ph4
for n in [2**17, 2**17 + 1]:
converter = nbody_system.nbody_to_si(10000 | units.MSun, 1 | units.pc)
p = new_plummer_model(n, convert_nbody=converter)
code = Ph4(converter, mode="gpu")
code.particles.add_particles(p)
channel_a = code.particles.new_channel_to(p)
channel_b = p.new_channel_to(code.particles)
print("# Particles: ", len(code.particles))
channel_a.copy()
print("Code to Local works")
channel_b.copy()
print("Local to Code works")
code.stop()
The first iteration will work, the second will throw an error.
Logs
wrapped<wrapped<wrapped<wrapped<function: int get_state(int index_of_the_particle)
output: double mass, double x, double y, double z, double vx, double vy, double vz, double radius, int __result>>>>
Traceback (most recent call last):
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/rfi/core.py", line 129, in __call__
dtype_to_result = self.interface.channel.recv_message(
call_id, self.specification.id, handle_as_array
)
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/rfi/channel.py", line 1361, in recv_message
raise exceptions.CodeException("Error in code: " + error_message)
amuse.support.exceptions.CodeException: Error in code: no error message - code probably died, sorry.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data1/hochart/Orion_Asteroids/data/Fractal_N2500_Q0.5_R1.0pc_Qvir0.5/test.py", line 18, in <module>
channel_a.copy()
~~~~~~~~~~~~~~^^
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/datamodel/particles.py", line 3723, in copy
self.copy_all_attributes()
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/datamodel/particles.py", line 3727, in copy_all_attributes
self.copy_attributes(list(names_to_copy))
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/datamodel/particles.py", line 3644, in copy_attributes
values = self.from_particles.get_values_in_store(self.from_indices, attributes)
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/datamodel/particles.py", line 1426, in get_values_in_store
return self._private.attribute_storage.get_values_in_store(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
indices, attributes
^^^^^^^^^^^^^^^^^^^
)
^
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/datamodel/incode_storage.py", line 1029, in get_values_in_store
result = getter.get_attribute_values(self, attributes, indices_in_the_code)
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/datamodel/incode_storage.py", line 219, in get_attribute_values
return_value = self.method(
*indices, **storage.extra_keyword_arguments_for_getters_and_setters
)
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/support/methods.py", line 168, in __call__
result = self.method(*list_arguments, **keyword_arguments)
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/support/methods.py", line 166, in __call__
object = self.precall()
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/support/methods.py", line 215, in precall
return self.definition.precall(self)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/support/interface.py", line 373, in precall
transition.do()
~~~~~~~~~~~~~^^
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/support/state.py", line 123, in do
self.method.new_method()()
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/support/methods.py", line 168, in __call__
result = self.method(*list_arguments, **keyword_arguments)
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/support/methods.py", line 168, in __call__
result = self.method(*list_arguments, **keyword_arguments)
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/support/methods.py", line 168, in __call__
result = self.method(*list_arguments, **keyword_arguments)
[Previous line repeated 1 more time]
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/support/methods.py", line 267, in __call__
return self.method(*list_arguments, **keyword_arguments)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data1/hochart/Conda_Env/lib/python3.14/site-packages/amuse/rfi/core.py", line 138, in __call__
raise exceptions.CodeException(
...<3 lines>...
)
amuse.support.exceptions.CodeException: Exception when calling function 'commit_particles', of code 'ph4Interface', exception was 'Error in code: no error message - code probably died, sorry.'
Metadata
Metadata
Assignees
Labels
area: community_codeIssue concerns a community code and/or its AMUSE bindingsIssue concerns a community code and/or its AMUSE bindingskind: bug
Type
Projects
Status
Backlog