<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.dynamo-em.org//w/index.php?action=history&amp;feed=atom&amp;title=Memory%2Fspeed_balance_during_ccmatrix_computation</id>
	<title>Memory/speed balance during ccmatrix computation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.dynamo-em.org//w/index.php?action=history&amp;feed=atom&amp;title=Memory%2Fspeed_balance_during_ccmatrix_computation"/>
	<link rel="alternate" type="text/html" href="https://www.dynamo-em.org//w/index.php?title=Memory/speed_balance_during_ccmatrix_computation&amp;action=history"/>
	<updated>2026-04-15T00:25:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://www.dynamo-em.org//w/index.php?title=Memory/speed_balance_during_ccmatrix_computation&amp;diff=300&amp;oldid=prev</id>
		<title>Daniel Castaño at 09:14, 19 April 2016</title>
		<link rel="alternate" type="text/html" href="https://www.dynamo-em.org//w/index.php?title=Memory/speed_balance_during_ccmatrix_computation&amp;diff=300&amp;oldid=prev"/>
		<updated>2016-04-19T09:14:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 09:14, 19 April 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot; &gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The user can use the ''Memory'' menu tab in the {{t|dynamo_ccmatrix_project_manager}} to get some hints about how to tune the {{t|batch}} parameter, which corresponds to ''M''. Basically the user is informed on the expected size in memory of one MxM block.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The user can use the ''Memory'' menu tab in the {{t|dynamo_ccmatrix_project_manager}} to get some hints about how to tune the {{t|batch}} parameter, which corresponds to ''M''. Basically the user is informed on the expected size in memory of one MxM block.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note that if a parallel computing destination has ben chosen, each so defined block will be assigned to a different core. This has to be taken into account when deciding the size of the batch. For instance, if you are going to use 32 cores in a workstation, take into account that each one will be processing a different batch. If your batch size allows 4Gb, you are assuming that your workstation has 128Gb.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note that if a parallel computing destination has ben chosen, each so defined block will be assigned to a different core. This has to be taken into account when deciding the size of the batch. For instance, if you are going to use 32 cores in a workstation, take into account that each one will be processing a different batch. If your batch size allows 4Gb, you are assuming that your workstation has 128Gb.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Daniel Castaño</name></author>
		
	</entry>
	<entry>
		<id>https://www.dynamo-em.org//w/index.php?title=Memory/speed_balance_during_ccmatrix_computation&amp;diff=299&amp;oldid=prev</id>
		<title>Daniel Castaño: Created page with &quot;A ccmatrix  is computed in ''batches''. If the data set containt ''N'' particles and the user sets a batch of ''M'' particles, ''Dynamo'' will com...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.dynamo-em.org//w/index.php?title=Memory/speed_balance_during_ccmatrix_computation&amp;diff=299&amp;oldid=prev"/>
		<updated>2016-04-19T09:14:14Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;A &lt;a href=&quot;/w/index.php?title=Cross_correlation_matrix&quot; title=&quot;Cross correlation matrix&quot;&gt;ccmatrix&lt;/a&gt;  is computed in &amp;#039;&amp;#039;batches&amp;#039;&amp;#039;. If the data set containt &amp;#039;&amp;#039;N&amp;#039;&amp;#039; particles and the user sets a batch of &amp;#039;&amp;#039;M&amp;#039;&amp;#039; particles, &amp;#039;&amp;#039;Dynamo&amp;#039;&amp;#039; will com...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;A [[cross correlation matrix|ccmatrix]]  is computed in ''batches''. If the data set containt ''N'' particles and the user sets a batch of ''M'' particles, ''Dynamo'' will compute the ''N''x''N'' matrix in blocks, each one with a size of M x M. During the computation of each block, ''Dynamo'' will read M particles and again a different ''M'' particles (unless the blog is in the diagonal, in which case the particles are the same), align them once using the table, align the missing wedges and then proceed to compute the MxM correlations.&lt;br /&gt;
&lt;br /&gt;
This creates a trade off: if M is very small (in the extreme case, 1), then you will need many more blocks than necessary. A particle ''i'' will appear in many independent blocks (in the extremal case  ''M''=1, each particle will be read 'N' times), being read from disk and aligned each time. We don't want this. But in the other hand, if ''M'' is too big (in the extreme case, ''M''=''N'', so that each particle gets read from disk and aligned just once), then you might need a huge amount of memory to contain all the aligned particles and missing wedges in the RAM. &lt;br /&gt;
&lt;br /&gt;
The user can use the ''Memory'' menu tab in the {{t|dynamo_ccmatrix_project_manager}} to get some hints about how to tune the {{t|batch}} parameter, which corresponds to ''M''. Basically the user is informed on the expected size in memory of one MxM block.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that if a parallel computing destination has ben chosen, each so defined block will be assigned to a different core. This has to be taken into account when deciding the size of the batch. For instance, if you are going to use 32 cores in a workstation, take into account that each one will be processing a different batch. If your batch size allows 4Gb, you are assuming that your workstation has 128Gb.&lt;/div&gt;</summary>
		<author><name>Daniel Castaño</name></author>
		
	</entry>
</feed>