The real problem with the OP is that “each” has been inserted in a position that obfuscates its purpose. It would be clearer if it said:
“ foo [comprises] of multiple binary programs that perform a single task each.
Another style possibility would be:
“ foo [comprises] of multiple binary programs, each performing a single task.
Ignoring the error of style, and all other errors, we have the illusion of an internal conflict in this sentence. Both "that" and "each" seem to funcion as the subject for the verb "perform",
BUT in this sentence, "each" is not functioning as a pronoun. Some would argue it is functioning as an adjective modifying the relative pronoun "that", which is the subject of the relative clause. Others would argue it is functioning as an adverb modifying "perform". Either way, "each" is neither singular nor plural. See Each.
Tabulating functions:
Subject: foo
Verb: comprises [sic]
Prepositional phrase: of multiple binary programs
Relative clause: (referent programs) that each perform a single task
In an additional test, the sentence would make perfect sense without the word "each":
foo comprises of multiple binary programs that perform a single task.
Therefore, ignoring other errors, the correct verb form would be perform.
"foo comprises of multiple binary programs that each perform a
single task."
Accepting the awkward style and improper use of the word "comprise", that is the correct grammar for "each", but why should we accept such rubbish? Our conversations about grammar could be much clearer if we kept good semantics and style in mind. Choose your words and design your sentences to make the most of the grammar!
Shouldin the question? – May 10 '12 at 14:33