Re: Request for Direction.
For now I just need to be able to impliment something relatively simply so that we can write take some existing applications - such as AI, or sparse arrays or and demonstrate/test end to end our concept. If it is successful and various others think there is a better syntax, or means of implimenting that is a future problem. On Mon, 2023-12-18 at 08:59 +0100, Richard Biener wrote: > On Sat, Dec 16, 2023 at 11:53 PM Jonathan Wakely via Gcc > wrote: > > > > On Sat, 16 Dec 2023 at 22:41, David H. Lynch Jr. wrote: > > > I am looking for any help I can get - pointers as to where to > > > start > > > with GCC, docs or howto's through to someone that wishes to > > > participate > > > in the project. There is a potential for compensation - we are > > > seeking > > > a grant, though our long term goals are partnership with a Memory > > > vendor. > > > > I would start with https://gcc.gnu.org/wiki/GettingStarted > > and the docs it links to at > > https://gcc-newbies-guide.readthedocs.io/en/latest/ > > You might also want to look at named address spaces, though they > are tracked as qualifiers. Generally annotations to declarations are > easiest as custom attributes, though I would guess you need to > be able to annotate pointer (types) as well, thus my hint with the > address-spaces. I guess handling all Content addressable variables > as being in a single special address space isn't enough of > information > to address them. > > Richard. > > > This list is the place to ask if you get stuck, or the #gcc channel > > on > > the OFTC IRC network.
Re: Request for Direction.
Thx, I appreciate the direction. We used a special tag in the preprocessor that we did. But there is no requirement of any specific means or syntax. we have been calling content addressable variables "sarts". So the first thing we must do is take almost any existing variable and identify it as a sart - that would be an attibute. But it must also belong to a specific group/block/ Name spaces could deal with this, but depending on the problem there could be one namespace for all CA variables or many different namespaces. Basically the variable must be identified as content addressable, and it must be tagged as utilizing a specific address translation mechanism. The next issue is that when the variable is used any type of bounds checking must be disabled because the "bounds" of a sart or content addressible variable are not easily known by the compiler. Next the code generated for get/put will be different. On Mon, 2023-12-18 at 08:59 +0100, Richard Biener via Gcc wrote: > On Sat, Dec 16, 2023 at 11:53 PM Jonathan Wakely via Gcc > wrote: > > > > On Sat, 16 Dec 2023 at 22:41, David H. Lynch Jr. wrote: > > > I am looking for any help I can get - pointers as to where to > > > start > > > with GCC, docs or howto's through to someone that wishes to > > > participate > > > in the project. There is a potential for compensation - we are > > > seeking > > > a grant, though our long term goals are partnership with a Memory > > > vendor. > > > > I would start with https://gcc.gnu.org/wiki/GettingStarted > > and the docs it links to at > > https://gcc-newbies-guide.readthedocs.io/en/latest/ > > You might also want to look at named address spaces, though they > are tracked as qualifiers. Generally annotations to declarations are > easiest as custom attributes, though I would guess you need to > be able to annotate pointer (types) as well, thus my hint with the > address-spaces. I guess handling all Content addressable variables > as being in a single special address space isn't enough of > information > to address them. > > Richard. > > > This list is the place to ask if you get stuck, or the #gcc channel > > on > > the OFTC IRC network.
Re: Request for Direction.
On Sat, Dec 16, 2023 at 11:53 PM Jonathan Wakely via Gcc wrote: > > On Sat, 16 Dec 2023 at 22:41, David H. Lynch Jr. wrote: > > I am looking for any help I can get - pointers as to where to start > > with GCC, docs or howto's through to someone that wishes to participate > > in the project. There is a potential for compensation - we are seeking > > a grant, though our long term goals are partnership with a Memory > > vendor. > > I would start with https://gcc.gnu.org/wiki/GettingStarted > and the docs it links to at > https://gcc-newbies-guide.readthedocs.io/en/latest/ You might also want to look at named address spaces, though they are tracked as qualifiers. Generally annotations to declarations are easiest as custom attributes, though I would guess you need to be able to annotate pointer (types) as well, thus my hint with the address-spaces. I guess handling all Content addressable variables as being in a single special address space isn't enough of information to address them. Richard. > This list is the place to ask if you get stuck, or the #gcc channel on > the OFTC IRC network.
Re: Request for Direction.
On Sat, 16 Dec 2023 at 22:41, David H. Lynch Jr. wrote: > I am looking for any help I can get - pointers as to where to start > with GCC, docs or howto's through to someone that wishes to participate > in the project. There is a potential for compensation - we are seeking > a grant, though our long term goals are partnership with a Memory > vendor. I would start with https://gcc.gnu.org/wiki/GettingStarted and the docs it links to at https://gcc-newbies-guide.readthedocs.io/en/latest/ This list is the place to ask if you get stuck, or the #gcc channel on the OFTC IRC network.
Re: Request for Direction.
On Thu, 2023-12-14 at 20:50 -0500, James K. Lowden wrote: > On Fri, 15 Dec 2023 14:43:22 -0500 > "David H. Lynch Jr. via Gcc" wrote: > > > Right now I am just focused on some means to deliver support. > > Hi David, > > My colleague Bob Dubner and I have been extending GCC every day for > the last two years. I wonder if we might be of some use to you. > > I only faintly hope our project can benefit from your work. We're > adding a Cobol front end to GCC. Cobol has built-in sort functions, > both on disk and in memory, and a rich data-description language. I have not thought regarding COBOL. I have not used COBOL since the early 80's. Regardless, The work we are doing likely has a high synergy with COBOL. The core issue would be that COBOL is not a high profile target. The current work is focused on delivering a demonstration project with enough sex appeal to attract the resources to more fully develop our work. This project started with a major memory manufacturer about 5 years ago. Dr. Trout and I developed it there. We secured the rights to our work when we left. We have been working on it on our own since. The original "target" was Sort-in-memory - which we demonstrated on FPGA's several years ago. We were very close to having DRAM fabricated when we left. We have subsequently expanded our idea to incorporate numerous memory access/addressing options. One of the target applications is handling of sparse arrays, and directly accessing the cells using existing sparse array notation. That is particularly applicable to AI. We are in the process of trying to take a standard AI reference application - recognizing handwritten numbers and being able to demonstrate everything - from the application through the compiler to the memory access. Doing a complete end to end problem helps get the mundane issues that have not been addressed completed. The AI app we are using is in C/C++ so that is our focus. Our long term objective is the hardware itself - currently our target is DRAM, but our work is applicable to all forms of storage - from DDR through to Hard disks. Frankly there are applications we have not even thought of. Technically this is Processor-In-Memory - which others such as Samsung are doing. But our approach is quite different, we are dual purposing the addressing logic and making use of a 4 bit processor to dynamically alter the way memory is addressed/accessed. Right now MY priority is adding support to a c/c++ compiler for our memory. I can do this myself, But I have not worked on compilers for 30 years and I have not ever worked on GCC. I am looking for any help I can get - pointers as to where to start with GCC, docs or howto's through to someone that wishes to participate in the project. There is a potential for compensation - we are seeking a grant, though our long term goals are partnership with a Memory vendor. We have worked out a syntax with out preprocessor, but we are not committed to that. There are some aspects that we are not sure how map into a programming language. Regardless the goal is not to get everything right it is to prove the value of the concept. Currently AI is where all the focus is - which is why we are doing an end to end AI application. Everything at the MEMSYS conference where we presented our work was either directly or indirectly about AI. Absolutely COBOL with Sort in Memory would be wonderful, but it is not likely to attract interest int eh addressing technology that is out key idea. Regardless, anyone interested can contact me either on this list or directly via email. I am looking for help and guidance and I do not have a preconception for what that might mean. > There is more potential there than might seem at first blush, and I > would welcome the opportunity to explain in detail if you're > interested. > > If your objective is simply to extend C to support content > addressable > memory, then we might still be of some help. I don't know anything, > really, about the C front-end, but Bob has experience getting > Generic to generate code. He might be able to answer some of your > questions, if nothing else. > > Let me know what you think. > > Kind regards, > > --jkl >
Re: Request for Direction.
On Fri, 15 Dec 2023 14:43:22 -0500 "David H. Lynch Jr. via Gcc" wrote: > Right now I am just focused on some means to deliver support. Hi David, My colleague Bob Dubner and I have been extending GCC every day for the last two years. I wonder if we might be of some use to you. I only faintly hope our project can benefit from your work. We're adding a Cobol front end to GCC. Cobol has built-in sort functions, both on disk and in memory, and a rich data-description language. There is more potential there than might seem at first blush, and I would welcome the opportunity to explain in detail if you're interested. If your objective is simply to extend C to support content addressable memory, then we might still be of some help. I don't know anything, really, about the C front-end, but Bob has experience getting Generic to generate code. He might be able to answer some of your questions, if nothing else. Let me know what you think. Kind regards, --jkl