I want to say that my program is capable of splitting some work across multiple CPU cores on a single system. What is the simple term for this? It's not multi-threaded, because that doesn't automatically imply that the threads run in parallel. It's not multi-process, because multiprocessing seems to be a property of a computer system, not a program. "capable of parallel operation" seems too wordy, and with all the confusion of terminology, I'm not even sure if it's accurate.
So is there a simple term for this?
Edit: The parallelization framework used by my program implements parallelism by forking multiple processes and communicating between them.
Edit 2: I found the following in Wikipedia's article on Concurrency: "Concurrent programming is usually considered to be more general than parallel programming ..." Based on this, both "concurrent" and "parallel" are apt descriptions of my program, with "parallel" being the more precise one.
However, I realize that Wikipedia, like any encyclopedia, is appropriate for getting an overview of a subject, but may not be the best source for resolving such subtleties. So I would appreciate it if someone could cite a more authoritative source demonstrating the difference between these two, or whether there really is a difference.