What makes a good engineering PhD topic and is this one? (I don't know if this is the right place to post this, but it's the best I could think of)
I am soon to graduate from my MEng and I am contemplating doing a part time PhD in the future.
PhDs always seem very 'research' focussed, while research is certainly something I do, it has always been a secondary thing behind the doing (designing making etc.), the engineering.
How does one do a PhD where the goal is to make something? (and can one do a PhD where the goal is to make something?)

Now the more specific question about my current idea.
A C++/Rust like language with a parallelism checker that natively compiles to run segments of code on a GPU (and possibly other ASICs).
Rust's borrow checker runs anaylsis to check memory safety, a parallelism checker would run analysis to  check code is as parallel as it can be, warning when code is not and how it may be best made so (via multi-threading and/or gpgpu), even in very complex scenario. From a more mathematical perspective could a perfect algorithm/model be devised and proven that would never miss when parallelism can be implemented?
In the simplest example, giving a warning for something like:
int a[100000]={1,2,...,100000};
int b[100000]={1,2,...,100000};
int c[100000];
for(int i=0;i&lt;100000;++i) {
    c[i]=a[i]+b[i]
}
How does one do a PhD where the goal is to make something?

This is country specific, and needs approval from your PhD advisor.
But the lab I am working in at CEA in France has several PhD candidates working on Frama-C. In the UK see also this.
You could also continue or take advantage of my work on Bismon (funded by CHARIOT &amp; DECODER projects; see this DRAFT report). You may consider (with approval from your PhD advisor) implementing your ideas as a GCC plugin, or as an extension of the Clang static analyzer, or something generating OpenCL.
Of course, the ongoing Brexit is adding issues at end of 2020 (e.g. end of Erasmus, no more European funding to UK research labs)

From a more mathematical perspective could a perfect algorithm/model be devised ?

Probably not a perfect one. Be however aware of Rice's theorem and of the Halting problem.
Read also J.Pitrat's last book on Artificial Beings - the conscious of a conscious machine, which is closely related to your topic. Also become familiar with abstract interpretation and type inference techniques. Consider generating C code.