SIMD is a hardware concept, and GPUs of course use that and other architectures. However, many languages provide built-in vector operations. (VHDL does as well.) A dataflow language is a language that is centered around the concept of data flowing through into and out of processes (or processors). The approach lends itself very well to parallelism, without the need for semaphors, test-and-set, or other synchronizing constructs. Typically, there is a queueing construct embedded in the data flows, and there are events for being notified when data has arrived, etc.