Difference between UPI vs PI in Teradata

Unique primary index and Non-unique primary index are associated with SET and MULTISET tables respectively.
For a SET table, Unique primary index is always defined. The reason behind is in order to avoid the overhead of duplicate check. If UPI is not defined for SET table, then the SET table itself will scan the entire records to find out the duplicates whereas UPI proactively checks duplicate entry. Since less columns are defined under UPI, it finds duplicate records faster than SET.
NUPI otherwise will be used for MULTISET tables. Since Multiset table does not look for duplicate entries, NUPI will be just used to index fields.

Difference in brief:
UPINUPI
Defined for SET tableDefined for MULTISET table
Duplicate check is handled by UPINo duplicate check is handled
UPI reduces overhead for SET for duplicatesNUPI will be used for indexing purpose only.