View mode: basic / threaded / horizontal-split · Log in · Help
January 06, 2012
Re: SIMD support...
On 1/6/2012 3:32 AM, Vladimir Panteleev wrote:
> On Friday, 6 January 2012 at 03:17:55 UTC, Walter Bright wrote:
>> Something about the way you are posting is breaking the threading of these
>> message threads.
>
> This is because the mailing list gateway assigns new Message IDs to posts
> forwarded from the mailing list to the newsgroup. Mailing list users don't see
> these IDs, so a post from a mailing list user replying to a post by another
> mailing list user will never appear as a "reply" to newsgroup users.
>
> I have an idea of how to counter this in DFeed (subscribing DFeed to mailing
> lists, in addition to polling the newsgroup server, and saving both Message IDs
> for each post), but it'll still be broken for everything else tied to the
> newsgroup server.

I don't know if that's fixable, but it's good to know that the problem comes via 
posting to the mailing lists rather than the other ways.
January 06, 2012
Re: SIMD support...
On 1/6/2012 3:32 AM, Vladimir Panteleev wrote:
> On Friday, 6 January 2012 at 03:17:55 UTC, Walter Bright wrote:
>> Something about the way you are posting is breaking the threading of these message threads.
> 
> This is because the mailing list gateway assigns new Message IDs to posts forwarded from the mailing list to the
> newsgroup. Mailing list users don't see these IDs, so a post from a mailing list user replying to a post by another
> mailing list user will never appear as a "reply" to newsgroup users.
> 
> I have an idea of how to counter this in DFeed (subscribing DFeed to mailing lists, in addition to polling the newsgroup
> server, and saving both Message IDs for each post), but it'll still be broken for everything else tied to the newsgroup
> server.

It's not nearly that generally broken.  As evidence.. this reply.. or any of my replies over the last mumble (5?) years.
Or any of the replies from the hundreds of other people that use the lists rather than the newsgroups.

The last time anyone researched it, there was a known bug in mailman (the gateway software in use) that triggered with
messages that are crossposted to multiple newsgroups.  I'd welcome anyone to dig deeper into the mailman code and send
bug report and/or fixes.  I'll happily install any updates that come down the pike.

Later,
Brad
January 06, 2012
Re: SIMD support...
On 6 January 2012 03:17, Walter Bright <newshound2@digitalmars.com> wrote:
> Something about the way you are posting is breaking the threading of these
> message threads.
>

I think it may have just been that one off post?


-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
January 06, 2012
Re: SIMD support...
On 6/01/12 4:28 AM, Martin Nowak wrote:
> I also don't think that we can efficiently provide arbitrary alignment
> for stack variables.
> The performance penalty will kill your efforts.
> Gcc doesn't do it either.

Vector registers are usually plentiful, so spilling to stack is rare. An 
(additional) performance penalty when this happens is acceptable as the 
performance-minded will avoid spillage anyway.


> Providing intrinsics should happen through library support.

That's a contradiction in terms. Intrinsics by definition are not 
contained in libraries. The compiler needs to know specifics of their 
implementation so that it can do register allocation and instruction 
scheduling.


> Either through expression templates or with GPGPU in mind using
> a DSL compiler for string mixins.
>
> auto result = vectorize!q{
> auto v = float4(a, b, c, d);
> auto v2 = float4(2 * a, 2.0, c - d, d + a);
> auto v3 = v * v2;
> auto v4 = __hadd(v3, v3);
> auto v5 = __hadd(v4, v4);
> return v5[0];
> }(0.2, 0.2, 0.3, 0.4);

So you suggest we implement a compiler in compile-time D?

There's several things wrong with this:

1. It wouldn't be able to interact with the host compiler's register 
allocation and instruction scheduling. The best it could do is paste 
blocks of asm inline into your code. Any interaction with variables or 
functions outside that block would incur overhead.

2. Unless you write a whole D compiler, you won't be able to use D 
expressions without your vectorization code (e.g. use CTFE to provide 
some of those constants).

3. It only works in self-contained code like this. What if I have a 
normal D function but I want one parameter passed in a vector register 
and intermix normal D code and vector code?

4. Errors within your vectorize code wouldn't be able to provide useful 
line numbers.

5. Your vectorize code can't benefit from syntax highlighting.

6. It would no doubt slow compile times.

7. It's probably just as much of an undertaking as adding it to the 
actual compiler.
January 07, 2012
Re: SIMD support...
On Friday, 6 January 2012 at 19:11:27 UTC, Brad Roberts wrote:
> On 1/6/2012 3:32 AM, Vladimir Panteleev wrote:
>> On Friday, 6 January 2012 at 03:17:55 UTC, Walter Bright wrote:
>>> Something about the way you are posting is breaking the 
>>> threading of these message threads.
>> 
>> This is because the mailing list gateway assigns new Message 
>> IDs to posts forwarded from the mailing list to the
>> newsgroup. Mailing list users don't see these IDs, so a post 
>> from a mailing list user replying to a post by another
>> mailing list user will never appear as a "reply" to newsgroup 
>> users.
>> 
>> I have an idea of how to counter this in DFeed (subscribing 
>> DFeed to mailing lists, in addition to polling the newsgroup
>> server, and saving both Message IDs for each post), but it'll 
>> still be broken for everything else tied to the newsgroup
>> server.
>
> It's not nearly that generally broken.  As evidence.. this 
> reply.. or any of my replies over the last mumble (5?) years.
> Or any of the replies from the hundreds of other people that 
> use the lists rather than the newsgroups.

The problem is not visible to mailing list users. Mailing list 
users receive messages with the original Message ID.

I admit I haven't looked hard for a counter-example, but there's 
an obvious pattern emerging to newsgroup users when two 
mailing-list users engage in a dialogue: their posts appear flat, 
all replies to the same parent (a post from a newsgroup user).

> The last time anyone researched it, there was a known bug in 
> mailman (the gateway software in use) that triggered with
> messages that are crossposted to multiple newsgroups.  I'd 
> welcome anyone to dig deeper into the mailman code and send
> bug report and/or fixes.  I'll happily install any updates that 
> come down the pike.

I found this:

http://wiki.list.org/pages/viewpage.action?pageId=4030712

So, it looks like this behavior is by design.

Note that the page states the following:

> If your mail program or newsreader implements message threading 
> correctly (see http://www.jwz.org/doc/threading.html), then it 
> should be able to deal with these differences.

I don't know if they simply refer to software being able to 
handle posts without known parents, but fully-correct threading 
is certainly impossible - the original message IDs are never 
mentioned anywhere (Mailman could have at least had the courtesy 
to put the original ID into some X-Mailman-Original-ID header). A 
workaround in DFeed as described above would probably be the 
safest solution...
Next ›   Last »
1 2
Top | Discussion index | About this forum | D home