{"action":"opened","issue":{"url":"https://api.github.com/repos/aowen87/TicketTester/issues/672","repository_url":"https://api.github.com/repos/aowen87/TicketTester","labels_url":"https://api.github.com/repos/aowen87/TicketTester/issues/672/labels{/name}","comments_url":"https://api.github.com/repos/aowen87/TicketTester/issues/672/comments","events_url":"https://api.github.com/repos/aowen87/TicketTester/issues/672/events","html_url":"https://github.com/aowen87/TicketTester/issues/672","id":388486509,"node_id":"MDU6SXNzdWUzODg0ODY1MDk=","number":672,"title":"CSG discretization is a memory hog with lots of CSG regions","user":{"login":"aowen87","id":11658578,"node_id":"MDQ6VXNlcjExNjU4NTc4","avatar_url":"https://avatars0.githubusercontent.com/u/11658578?v=4","gravatar_id":"","url":"https://api.github.com/users/aowen87","html_url":"https://github.com/aowen87","followers_url":"https://api.github.com/users/aowen87/followers","following_url":"https://api.github.com/users/aowen87/following{/other_user}","gists_url":"https://api.github.com/users/aowen87/gists{/gist_id}","starred_url":"https://api.github.com/users/aowen87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aowen87/subscriptions","organizations_url":"https://api.github.com/users/aowen87/orgs","repos_url":"https://api.github.com/users/aowen87/repos","events_url":"https://api.github.com/users/aowen87/events{/privacy}","received_events_url":"https://api.github.com/users/aowen87/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/aowen87/TicketTester/milestones/13","html_url":"https://github.com/aowen87/TicketTester/milestone/13","labels_url":"https://api.github.com/repos/aowen87/TicketTester/milestones/13/labels","id":3878221,"node_id":"MDk6TWlsZXN0b25lMzg3ODIyMQ==","number":13,"title":"2.8.2","description":null,"creator":{"login":"aowen87","id":11658578,"node_id":"MDQ6VXNlcjExNjU4NTc4","avatar_url":"https://avatars0.githubusercontent.com/u/11658578?v=4","gravatar_id":"","url":"https://api.github.com/users/aowen87","html_url":"https://github.com/aowen87","followers_url":"https://api.github.com/users/aowen87/followers","following_url":"https://api.github.com/users/aowen87/following{/other_user}","gists_url":"https://api.github.com/users/aowen87/gists{/gist_id}","starred_url":"https://api.github.com/users/aowen87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aowen87/subscriptions","organizations_url":"https://api.github.com/users/aowen87/orgs","repos_url":"https://api.github.com/users/aowen87/repos","events_url":"https://api.github.com/users/aowen87/events{/privacy}","received_events_url":"https://api.github.com/users/aowen87/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":10,"state":"open","created_at":"2018-12-06T23:49:12Z","updated_at":"2018-12-07T03:02:35Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2018-12-07T03:02:35Z","updated_at":"2018-12-07T03:02:35Z","closed_at":null,"author_association":"OWNER","body":"Patrick Brantley had a CSG mesh with approximately 36,000 spheres, where each sphere was a CSG region. When VisIt tried to discretize the mesh, it would crash regardless of the discretization method. I found that I could only discretize about 3500 spheres with a smallest cell size set to 0.2. It only created 8 of the 3500 spheres so geometry was not an issue, but it the SZ was about 28Gb and the RSS was about 8Gb. It turns out each region creates a vtkDataSet that gets cached multiple times even if the data sets contain no zones. We should either have those vtkDataSets be null or point to a global null data set (note this may have threading implications). I created a work around for Patrick by creating a program to merge the spheres into a smaller number of regions, each with many spheres. VisIt was able to handle this fine.\n\n\n\n\n\n-----------------------REDMINE MIGRATION-----------------------\nThis ticket was migrated from Redmine. As such, not all \ninformation was able to be captured in the transition. Below is\na complete record of the original redmine ticket.\n\nTicket number: 2052\nStatus: Resolved\nProject: VisIt\nTracker: Bug\nPriority: High\nSubject: CSG discretization is a memory hog with lots of CSG regions\nAssigned to: Eric Brugger\nCategory: \nTarget version: 2.8.2\nAuthor: Eric Brugger\nStart: 11/04/2014\nDue date: \n% Done: 100\nEstimated time: 20.0\nCreated: 11/04/2014 01:27 pm\nUpdated: 11/19/2014 01:40 pm\nLikelihood: 3 - Occasional\nSeverity: 4 - Crash / Wrong Results\nFound in version: 2.8.0\nImpact: \nExpected Use: \nOS: All\nSupport Group: Any\nDescription:\n Patrick Brantley had a CSG mesh with approximately 36,000 spheres, where each sphere was a CSG region. When VisIt tried to discretize the mesh, it would crash regardless of the discretization method. I found that I could only discretize about 3500 spheres with a smallest cell size set to 0.2. It only created 8 of the 3500 spheres so geometry was not an issue, but it the SZ was about 28Gb and the RSS was about 8Gb. It turns out each region creates a vtkDataSet that gets cached multiple times even if the data sets contain no zones. We should either have those vtkDataSets be null or point to a global null data set (note this may have threading implications). I created a work around for Patrick by creating a program to merge the spheres into a smaller number of regions, each with many spheres. VisIt was able to handle this fine.\n\nComments:\nI committed revisions 25055 and 25057 to the 2.8 RC and trunk with thefollowing changes:1) I significantly reduced the amount of memory used when processing CSG   meshes with many regions. In one instance, a subset plot of a CSG mesh   consisting of about 36000 spheres that was using over 250 gigabytes is   now using about half a gigabyte. I did this by reducing the number of   reads of CSG meshes to only once per CSG mesh instead of once per region   in order to reduce the number of times the same CSG mesh was cached.   This resolves #2052.M       avt/Database/Database/avtGenericDatabase.CM       avt/Database/Database/avtTransformManager.CM       avt/Database/Database/avtTransformManager.hM       databases/Silo/avtSiloFileFormat.CM       databases/Silo/avtSiloFileFormat.hM       resources/help/en_US/relnotes2.8.2.html\n\n"}}
{"actor":{"display_login":"aowen87"}}