Search found 41 matches

by JoeDuarte
2018-06-07, 7:07:20
Forum: forwardcom forum
Topic: Forwardcom and caching models
Replies: 15
Views: 34802

Re: Forwardcom and caching models

Would forwardcom be fundamentally compatible with architectures like Rex Computing, which discards the traditional caching hierarchy in favor of a massive number of cores with 128 KB of scratchpad memory per core? http://rexcomputing.com/ That architecture reminds me a lot of the PS3's Cell process...
by JoeDuarte
2018-05-19, 18:31:39
Forum: forwardcom forum
Topic: Forwardcom and caching models
Replies: 15
Views: 34802

Forwardcom and caching models

Hi Agner, Is forwardcom hooked to any particular caching model or hierarchy? I see references to an instruction cache and data cache, but not much else. Would forwardcom be fundamentally compatible with architectures like Rex Computing, which discards the traditional caching hierarchy in favor of a ...
by JoeDuarte
2018-04-21, 0:07:10
Forum: forwardcom forum
Topic: One flexible register
Replies: 1
Views: 10964

One flexible register

Hi Agner – Is it possible to engineer one 1024- or 2048-bit register that could be almost infinitely subdivided by the programmer into whatever combination of 16, 32, 64, 80, 128, 256, etc. registers were optimal for the program? I don't know what a register fundamentally is as a physical or silicon...
by JoeDuarte
2018-03-04, 7:03:58
Forum: forwardcom forum
Topic: Decimal floating point
Replies: 3
Views: 10935

Decimal floating point

Hi Agner – Have you considered instructions for decimal floating point? As you know, I really don't like binary floating point and the problems it causes, including those you listed in your last thread. Some interesting papers on hardware support for decimal floating point: Mike Cowlishaw got it int...
by JoeDuarte
2018-02-23, 6:02:31
Forum: forwardcom forum
Topic: Different instruction sets on different cores
Replies: 18
Views: 30556

Re: Different instruction sets on different cores

Hubert wrote: Video games use TONS of floating point math ForwardCom has optional support for half precision floating point vectors. Do you think that video and sound applications can use half precision? Neural networks is another application for half precision. The operand type field in the instru...
by JoeDuarte
2018-02-11, 8:11:33
Forum: forwardcom forum
Topic: Source code changes for Forwardcom compatibility
Replies: 5
Views: 11155

Re: Source code changes for Forwardcom compatibility

Agner, Have you given much thought to the changes needed to the C and C++ standard libraries. Would the musl C library be the best choice for ForwardCom initially, given that it's focused on statically linking? musl has a clean and standards-based compiler. A C++ compiler for ForwardCom is definitel...
by JoeDuarte
2018-02-06, 10:04:24
Forum: forwardcom forum
Topic: Source code changes for Forwardcom compatibility
Replies: 5
Views: 11155

Re: Source code changes for Forwardcom compatibility

Certain things work differently in ForwardCom that programmers may consider: Everything should be position-independent. Initialized pointer tables are position-dependent on most platforms. The compiler will insert a piece of initialization code that converts relative pointers to absoluter pointers ...
by JoeDuarte
2018-02-06, 9:45:27
Forum: forwardcom forum
Topic: Virtualization
Replies: 3
Views: 9455

Re: Virtualization

Hi Agner – I think virtualization support is de rigueur at this point. In many settings a server is practically defined as a computer that hosts multiple guest VMs. Bare metal server setups certainly exist, but they tend to be wasteful if running one or two applications on a legacy OS like Linux, Wi...
by JoeDuarte
2018-02-03, 2:14:44
Forum: forwardcom forum
Topic: Different instruction sets on different cores
Replies: 18
Views: 30556

Re: Different instruction sets on different cores

I've never seen half-float being used. Not in game code, and not in sound applications (where 32bit float is very much the sweet spot). There's very little x86 support - only AVX conversion instructions to and from 32bit float vectors (vcvtps2ph and vcvtph2ps). There is no standard C/C++ type name ...
by JoeDuarte
2018-02-02, 13:38:18
Forum: forwardcom forum
Topic: Different instruction sets on different cores
Replies: 18
Views: 30556

Re: Different instruction sets on different cores

64-bit is such a waste on phones and desktops – I think something like 40-bit registers and address space would be optimal for client devices 40-bit does sound interesting, and I can't really disagree with not needing any more, but I think in this day and age, not having 64-bit support may be a har...
by JoeDuarte
2018-02-02, 13:18:11
Forum: forwardcom forum
Topic: Different instruction sets on different cores
Replies: 18
Views: 30556

Re: Different instruction sets on different cores

I'm not even sure that most programs use floating point math, for instance, so it's odd to have so much FP hardware and instruction support on every core. Video games use TONS of floating point math. Everything that is a 3d coordinate is going to have 32bit floating point XYZ. If your scene has 10 ...
by JoeDuarte
2018-01-24, 1:48:44
Forum: forwardcom forum
Topic: Source code changes for Forwardcom compatibility
Replies: 5
Views: 11155

Source code changes for Forwardcom compatibility

Hi Agner – What sorts of changes will developers need to make to the source code of C and C++ programs in order to compile to a Forwardcom target, if any?

Joe
by JoeDuarte
2018-01-24, 1:47:10
Forum: forwardcom forum
Topic: Virtualization
Replies: 3
Views: 9455

Virtualization

Hi Agner – I didn't see any treatment of virtualization in the specification. Does an ISA need to implement some things to optimize virtualization? Would these be instructions or something at a higher level of implementation? Intel and AMD tout lots of virtualization features, and instructions like ...
by JoeDuarte
2018-01-22, 2:43:10
Forum: forwardcom forum
Topic: Different instruction sets on different cores
Replies: 18
Views: 30556

Re: Different instruction sets on different cores

A logarithmic number system is efficient as long as you are using it for multiplication only, but difficult if you want to do addition. You need no extra hardware for multiplying logarithmic numbers - this is simply addition of integers. Another possibility is to use standard floating point numbers...
by JoeDuarte
2018-01-22, 2:36:11
Forum: forwardcom forum
Topic: Different instruction sets on different cores
Replies: 18
Views: 30556

Re: Different instruction sets on different cores

And if ForwardCom were to have AES and other crypto instructions, it seems like it would be fine to have them on just one core. There's no need to have that on every core – they won't be used. I would've thought that a very common application of crypto acceleration would be a multi-threaded HTTPS/V...
by JoeDuarte
2017-12-19, 19:00:38
Forum: forwardcom forum
Topic: Different instruction sets on different cores
Replies: 18
Views: 30556

Different instruction sets on different cores

Hi Agner – Do we need every core to support the same registers and instructions? There is some evidence that a logarithmic number system would be more efficient than floating point for many workloads (https://en.wikipedia.org/wiki/Logarithmic_number_system). It would be nice to have floating point o...