A hotspot detection system that classifies a set of hotspot training data into a plurality of hotspot clusters according to their topologies, where the hotspot clusters are associated with different hotspot topologies, and classifies a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies, where the non-hotspot clusters are associated with different topologies. The system extracts topological and non-topological critical features from the hotspot clusters and centroids of the non-hotspot clusters. The system also creates a plurality of kernels configured to identify hotspots, where each kernel is constructed using the extracted critical features of the non-hotspot clusters and the extracted critical features from one of the hotspot clusters, and each kernel is configured to identify hotspot topologies different from hotspot topologies that the other kernels are configured to identify.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer implemented method for hotspot detection using a hotspot detection system, comprising: defining a clip to represent a portion of an integrated circuit topology; and evaluating the clip using a plurality of kernels wherein the kernels identify different topologies that indicate a potential for a hotspot to occur. 2. The method of claim 1, wherein each of the kernels processes all of the extracted clips to identify hotspots. 3. The method of claim 1 further comprising performing hotspot filtering. 4. The method of claim 1 further comprising merging identified hotspot cores into several regions wherein a merging region is the minimum bounding box covering all hotspot cores in this region. 5. The method of claim 1 further comprising: receiving the layout from a client device connected to the hotspot detection system; and providing the identified hotspots to the client device. 6. A computer implemented method comprising: classifying a set of hotspot training data into a plurality of hotspot clusters according to their topologies, where the hotspot clusters are associated with different hotspot topologies; classifying a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies, where the non-hotspot clusters are associated with different topologies; extracting topological and non-topological critical features from the hotspot clusters and centroids of the non-hotspot clusters, wherein the topological critical features are geometry related features that characterize a cluster and the non-topological critical features are lithographic processes related features that characterize a cluster; and creating a plurality of kernels configured to identify hotspots, where each kernel is constructed using extracted critical features of the centroids of the non-hotspot clusters and extracted critical features from one of the hotspot clusters, and each kernel is configured to identify hotspot topologies different from hotspot topologies that the other kernels are configured to identify. 7. The method of claim 6, further comprising: upsampling the hotspot training data to a first data size, wherein classifying a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies comprises downsampling the non-hotspot training data to a second data size. 8. The method of claim 6, wherein: the hotspot training data comprises a plurality of hotspot data items, and upsampling the hotspot training data comprises: data shifting each hotspot data item to create one or more associated derivative data items, wherein each hotspot data item and its associated one or more derivative data items form a different hotspot cluster. 9. The method of claim 8, wherein data shifting comprises: shifting a hotspot data item upwards, downwards, leftwards, rightwards, rotating the hotspot data item, moving some edge in the data item, or some combination thereof. 10. The method of claim 6, wherein the plurality of kernels use a support vector machine learning model. 11. The method of claim 6, further comprising: iteratively training the plurality of kernels until a stopping criterion is satisfied, the stopping criterion being a hotspot detection accuracy rate. 12. The method of claim 6, wherein classifying a set of hotspot training data into a plurality of hotspot clusters according to their topologies comprises: clustering the hotspot training data using string-based classifications into a plurality of intermediate hotspot clusters; and creating one or more hotspot clusters from each intermediate hotspot cluster using density-based classification. 13. The method of claim 6, wherein classifying a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies comprises: clustering the non-hotspot training data using string-based classifications into a plurality of intermediate non-hotspot clusters; and creating one or more non-hotspot clusters from each intermediate non-hotspot cluster using density-based classification. 14. The method of claim 6, further comprising: receiving a portion of a testing layout; and evaluating, by the plurality of kernels, the portion to identify one or more hotspots, where each kernel evaluates the portion to identify whether a hotspot the kernel is configured to identify is present in the portion. 15. The method of claim 6, further comprising: filtering the identified one or more hotspots to remove redundancy in the identified hotspots. 16. A non-transitory computer readable medium having embedded thereon a program, the program being executable by a processor for performing a method comprising: classifying a set of hotspot training data into a plurality of hotspot clusters according to their topologies, where the hotspot clusters are associated with different hotspot topologies; classifying a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies, where the non-hotspot clusters are associated with different topologies; extracting topological and non-topological critical features from the hotspot clusters and centroids of the non-hotspot clusters, wherein the topological critical features are geometry related features that characterize a cluster and the non-topological critical features are lithographic processes related features that characterize a cluster; and creating a plurality of kernels configured to identify hotspots, where each kernel is constructed using the extracted critical features of the centroids of the non-hotspot clusters and the extracted critical features from one of the hotspot clusters, and each kernel is configured to identify hotspot topologies different from hotspot topologies that the other kernels are configured to identify. 17. The computer readable medium of claim 16, further comprising: upsampling the hotspot training data to a first data size, and wherein classifying a set of non-hotspot training data into a plurality of non-hotspot clusters according to their topologies comprises downsampling the non-hotspot training data to a second data size. 18. The computer readable medium of claim 16, wherein: the hotspot training data comprises a plurality of hotspot data items, and upsampling the hotspot training data comprises: data shifting each hotspot data item to create one or more associated derivative data items, wherein each hotspot data item and its associated one or more derivative data items form a different hotspot cluster. 19. The computer readable medium of claim 18, wherein data shifting comprises: shifting a hotspot data item upwards, downwards, leftwards, rightwards, rotating the hotspot data item, moving some edge in the data item, or some combination thereof. 20. The computer readable medium of claim 16, further comprising: iteratively training the plurality of kernels until a stopping criterion is satisfied, the stopping criterion being a hotspot detection accuracy rate.