Massively parallel self-organizing maps: accelerate training on multicore CPUs, GPUs, and clusters