<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body dir="auto">
<div dir="ltr"></div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
On Apr 11, 2019, at 6:35 AM, charleyb123 &lt;<a href="mailto:charleyb123@gmail.com">charleyb123@gmail.com</a>&gt; wrote:<br>
<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
&gt;&gt; It seems odd to desire support for equality comparisons, but not<br>
&gt;&gt; relational ones.<br>
&gt;<br>
&gt; Why would that be odd? Relational comparison is much more complex, it<br>
&gt; assumes a totally ordered address space. Not all architecture have<br>
&gt; that naturally.<br>
<br>
So, let's talk about segmented 16-bit mode of Intel 8086, where<br>
an object is at most 64 KB (one segment).<br>
</blockquote>
<div><br>
</div>
</div>
</div>
</blockquote>
<div>Arthur O'Dwyer respondeth:&nbsp;</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div class="gmail_quote">
<div></div>
<div>Intel still has a completely linear address-space; it just represents those addresses in a weird redundant way at the bit level.</div>
<div><br>
</div>
<div>When we talk about an address-space that is not &quot;totally ordered,&quot; I picture an address space something like what Cerberus displays graphically: it's just a bunch of boxes floating in space, some of which are guaranteed to be vertically contiguous (that
 is, ordered) and some of which aren't.</div>
<div>Does my mental model correspond to some real-world heterogeneous/distributed/associative memory that actually exists, or will exist in the next 40 years? I honestly don't know. But the &quot;bunch of boxes floating in space&quot; addressing model is really easy
 to imagine and draw on a whiteboard, so I think I understand why it's the model that C and C&#43;&#43; use.</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>I think the non-linear, disjointed address space is increasing with heterogeneous computing, and will continue to do so.</div>
<div><br>
</div>
<div>Current device drivers for CPU/GPU and other &quot;local&quot; compute devices provide a mechanism to &quot;map&quot; the (separate) address-spaces for the several local devices into the host memory address space to hide this issue (presenting an illusion of universal host-linear
 address space).&nbsp; But, that is only workable &quot;to-a-point&quot;.&nbsp; We already deal with &quot;host-visible&quot; and &quot;host-non-visible&quot; device memory for local devices that make this linear-mapping-to-host somewhat problematic.</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>&#43;1.</div>
<div><br>
</div>
<div>I urge caution against arguments I see here and there “oh but the box under my desk is an Intel architecture that has linear address space. Have you seen anything else in the Real World?”.</div>
<br>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>And, distributed nodes fundamentally *cannot* share an address space, nor map to a host linear address space.&nbsp; Of course, for distributed address spaces we have other mechanisms (content-hashing to an identifier like a UUID, or semantic handles that behave
 as pointers to include comparison or relational ordering).&nbsp;</div>
<div><br>
</div>
<div>Mostly, I'm hoping that address compare-or-relational operations for the language are sufficiently rich that algorithms can be authored that happen to accept in their stead my &quot;fancy pointer&quot; that happens to support these rich relational operations.&nbsp; If
 only equality is supported, that's fine, I'll probably just write different algorithms that use the &quot;fancy pointer&quot; that happens to support the richer relational form.</div>
<div><br>
</div>
<div>--charley</div>
<div><br>
</div>
</div>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div dir="ltr"><span>_______________________________________________</span><br>
<span>ub mailing list</span><br>
<span><a href="mailto:ub@isocpp.open-std.org">ub@isocpp.open-std.org</a></span><br>
<span><a href="https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.open-std.org%2Fmailman%2Flistinfo%2Fub&amp;amp;data=02%7C01%7Cgdr%40microsoft.com%7C0662ba8693e94c96f8b108d6be828ebd%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636905865284903488&amp;amp;sdata=32%2Fyz%2Budl1og4fYR2KqY%2FEqQ8wXWD2YnO1gkPBza3hs%3D&amp;amp;reserved=0">https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.open-std.org%2Fmailman%2Flistinfo%2Fub&amp;amp;data=02%7C01%7Cgdr%40microsoft.com%7C0662ba8693e94c96f8b108d6be828ebd%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636905865284903488&amp;amp;sdata=32%2Fyz%2Budl1og4fYR2KqY%2FEqQ8wXWD2YnO1gkPBza3hs%3D&amp;amp;reserved=0</a></span><br>
</div>
</blockquote>
</body>
</html>