There are many types of parallel programming.
If you write threaded code in C or whatever it should take advantage of multiple cores on a shared-memory machine.
If you want to run on GPUs which have many more cores you could look at CUDA
For Beowulf style clusters there are various middlware packages and, if I recall right, MPI for message-passing libraries which can be integrated into applications.